diff -u -r -N squid-5.4.1/aclocal.m4 squid-5.5/aclocal.m4 --- squid-5.4.1/aclocal.m4 2022-02-12 17:05:56.000000000 +1300 +++ squid-5.5/aclocal.m4 2022-04-13 20:30:24.000000000 +1200 @@ -1186,7 +1186,8 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -1217,7 +1218,7 @@ # along with this program. If not, see . ]) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -1367,6 +1368,7 @@ m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -1405,8 +1407,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -1957,7 +1959,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -2219,8 +2221,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -2244,17 +2246,12 @@ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -2303,12 +2300,12 @@ output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -2422,7 +2419,8 @@ # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -2439,7 +2437,7 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -2469,7 +2467,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -2486,7 +2484,7 @@ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -2498,7 +2496,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -2520,7 +2518,7 @@ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -2528,7 +2526,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -2536,7 +2534,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -2556,14 +2554,14 @@ # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -2631,7 +2629,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -2670,9 +2668,22 @@ m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -2891,7 +2902,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -2934,7 +2945,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -3384,26 +3395,35 @@ striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -3726,7 +3746,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; @@ -3736,14 +3756,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -3762,7 +3782,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -3799,7 +3819,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -3832,7 +3852,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -4643,7 +4663,7 @@ bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -4677,14 +4697,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -4698,7 +4718,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' @@ -4745,7 +4765,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -4872,13 +4892,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -4904,7 +4924,7 @@ # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -5144,7 +5164,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -5162,20 +5182,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -5199,7 +5219,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -5217,9 +5237,9 @@ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -5507,7 +5527,7 @@ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -5590,7 +5610,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -5932,7 +5952,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -6115,7 +6135,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -6123,7 +6143,7 @@ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -6183,15 +6203,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -6246,7 +6266,7 @@ _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -6358,6 +6378,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -6372,7 +6393,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -6415,7 +6436,7 @@ _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes @@ -6427,13 +6448,14 @@ if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -6443,7 +6465,7 @@ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -6575,7 +6597,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -6758,12 +6780,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -6804,7 +6826,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -6852,7 +6874,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -6993,6 +7015,7 @@ # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; esac ;; @@ -7064,6 +7087,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -7830,8 +7854,8 @@ cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -7929,6 +7953,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -7959,7 +7984,7 @@ _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -8096,7 +8121,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -8236,13 +8261,13 @@ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -9380,6 +9405,14 @@ AC_SUBST([DLLTOOL]) ]) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates @@ -9559,16 +9592,19 @@ # Portability macros for glibc argz. -*- Autoconf -*- # -# Copyright (C) 2004-2007, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004-2007, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 1 ltargz.m4 +# serial 2 ltargz.m4 AC_DEFUN([LT_FUNC_ARGZ], [ +dnl Required for use of '$SED' in Cygwin configuration. +AC_REQUIRE([AC_PROG_SED])dnl AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) AC_CHECK_TYPES([error_t], @@ -9607,7 +9643,7 @@ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' save_IFS=$IFS IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` IFS=$save_IFS lt_os_major=${2-0} lt_os_minor=${3-0} @@ -9634,14 +9670,15 @@ # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # -# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Thomas Tanner, 1999 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 20 LTDL_INIT +# serial 21 LTDL_INIT # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # ------------------------------------------ @@ -9969,7 +10006,7 @@ if test -n "$_LT_LIBOBJS"; then # Remove the extension. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done @@ -10107,7 +10144,7 @@ # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) @@ -10544,8 +10581,8 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives @@ -10976,7 +11013,7 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # @@ -11101,7 +11138,8 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -11125,8 +11163,8 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives diff -u -r -N squid-5.4.1/cfgaux/ltmain.sh squid-5.5/cfgaux/ltmain.sh --- squid-5.4.1/cfgaux/ltmain.sh 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/cfgaux/ltmain.sh 2022-04-13 20:30:26.000000000 +1200 @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 # libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-15" +VERSION="2.4.6 Debian-2.4.7-3" package_revision=2.4.6 @@ -64,34 +64,25 @@ # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# ## ------ ## @@ -139,9 +130,12 @@ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -580,16 +623,16 @@ { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1134,203 @@ } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $debug_cmd - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break fi - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; + *) ;; esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; esac - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result ;; esac +} + - func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1376,8 @@ _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1402,8 @@ _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1530,26 @@ # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2015-10-07.11; # UTC - # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# Please report bugs or propose patches to: +# -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1572,7 @@ # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. +# starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the @@ -1427,7 +1584,7 @@ # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1633,8 @@ ## ------------------------- ## # This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1667,8 @@ # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1677,28 @@ } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more +# It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. @@ -1534,22 +1710,19 @@ case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - if eval $_G_hook '"$@"'; then - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - _G_rc_run_hooks=: + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift fi done - - $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1559,14 +1732,16 @@ ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, you may remove/edit -# any options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. In this case you also must return $EXIT_SUCCESS to let the -# hook's caller know that it should pay attention to -# '_result'. Returning $EXIT_FAILURE signalizes that -# arguments are left untouched by the hook and therefore caller will ignore the -# result variable. +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). # # Like this: # @@ -1578,11 +1753,8 @@ # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# # No change in '$@' (ignored completely by this hook). There is -# # no need to do the equivalent (but slower) action: -# # func_quote_for_eval ${1+"$@"} -# # my_options_prep_result=$func_quote_for_eval_result -# false +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1593,7 +1765,7 @@ # # args_changed=false # -# # Note that for efficiency, we parse as many options as we can +# # Note that, for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do @@ -1610,18 +1782,17 @@ # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@", we could need that later -# # if $args_changed is true. +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # +# # Only call 'func_quote' here if we processed at least one argument. # if $args_changed; then -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result # fi -# -# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1632,8 +1803,6 @@ # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# false # } # func_add_hook func_validate_options my_option_validation # @@ -1649,13 +1818,8 @@ { $debug_cmd - _G_func_options_finish_exit=false - if func_run_hooks func_options ${1+"$@"}; then - func_options_finish_result=$func_run_hooks_result - _G_func_options_finish_exit=: - fi - - $_G_func_options_finish_exit + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish } @@ -1668,28 +1832,27 @@ { $debug_cmd - _G_rc_options=false + _G_options_quoted=false for my_func in options_prep parse_options validate_options options_finish do - if eval func_$my_func '${1+"$@"}'; then - eval _G_res_var='$'"func_${my_func}_result" - eval set dummy "$_G_res_var" ; shift - _G_rc_options=: + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: fi done - # Save modified positional parameters for caller. As a top-level - # options-parser function we always need to set the 'func_options_result' - # variable (regardless the $_G_rc_options value). - if $_G_rc_options; then - func_options_result=$_G_res_var - else - func_quote_for_eval ${1+"$@"} - func_options_result=$func_quote_for_eval_result - fi - - $_G_rc_options + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1699,8 +1862,7 @@ # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). +# modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { @@ -1710,14 +1872,8 @@ opt_verbose=false opt_warning_types= - _G_rc_options_prep=false - if func_run_hooks func_options_prep ${1+"$@"}; then - _G_rc_options_prep=: - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result - fi - - $_G_rc_options_prep + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep } @@ -1729,27 +1885,32 @@ { $debug_cmd - func_parse_options_result= - - _G_rc_parse_options=false + _G_parse_options_requote=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - if func_run_hooks func_parse_options ${1+"$@"}; then - eval set dummy "$func_run_hooks_result"; shift - _G_rc_parse_options=: + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1760,7 +1921,7 @@ --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then - _G_rc_parse_options=: + _G_parse_options_requote=: break fi case " $warning_categories $1" in @@ -1815,7 +1976,7 @@ shift ;; - --) _G_rc_parse_options=: ; break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false @@ -1823,17 +1984,16 @@ ;; esac - $_G_match_parse_options && _G_rc_parse_options=: + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - - if $_G_rc_parse_options; then + if $_G_parse_options_requote; then # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result fi - - $_G_rc_parse_options } @@ -1846,21 +2006,14 @@ { $debug_cmd - _G_rc_validate_options=false - # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - if func_run_hooks func_validate_options ${1+"$@"}; then - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result - _G_rc_validate_options=: - fi + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - $_G_rc_validate_options } @@ -1916,8 +2069,8 @@ # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -1932,8 +2085,9 @@ func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1943,7 +2097,7 @@ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals @@ -1969,7 +2123,7 @@ { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -2011,31 +2165,44 @@ # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - /^# Written by / { - s|^# || - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^warranty; /q' < "$progpath" + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -2045,7 +2212,7 @@ # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: @@ -2141,7 +2308,7 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-15 + version: $progname $scriptversion Debian-2.4.7-3 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2197,7 +2364,7 @@ # a configuration failure hint, and exit. func_fatal_configuration () { - func__fatal_error ${1+"$@"} \ + func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } @@ -2345,6 +2512,8 @@ _G_rc_lt_options_prep=: + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2375,11 +2544,9 @@ if $_G_rc_lt_options_prep; then # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result fi - - $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2482,11 +2649,9 @@ if $_G_rc_lt_parse_options; then # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result fi - - $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -2543,8 +2708,8 @@ } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3510,8 +3675,8 @@ esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3584,8 +3749,8 @@ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3740,7 +3905,8 @@ -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3846,6 +4012,8 @@ -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4188,8 +4356,8 @@ case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4199,8 +4367,8 @@ # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4257,12 +4425,12 @@ esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4273,8 +4441,8 @@ if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4570,8 +4738,8 @@ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5350,7 +5518,8 @@ if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5360,7 +5529,7 @@ \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6703,9 +6872,9 @@ while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6941,6 +7110,13 @@ prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7111,7 +7287,7 @@ # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7131,7 +7307,7 @@ esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7161,8 +7337,20 @@ prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7303,9 +7491,9 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7319,16 +7507,21 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7346,8 +7539,8 @@ # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7370,12 +7563,13 @@ # -fuse-ld=* Linker select flags for GCC # -static-* direct GCC to link specific libraries statically # -fcilkplus Cilk Plus language extension features for C/C++ + # -Wa,* Pass flags directly to the assembler -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7396,15 +7590,15 @@ continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7524,8 +7718,8 @@ *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -8733,7 +8927,7 @@ test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8906,7 +9100,7 @@ # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -9000,7 +9194,7 @@ versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9226,7 +9420,7 @@ *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -10037,8 +10231,8 @@ for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10131,8 +10325,8 @@ eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10606,12 +10800,13 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10851,13 +11046,15 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi diff -u -r -N squid-5.4.1/ChangeLog squid-5.5/ChangeLog --- squid-5.4.1/ChangeLog 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/ChangeLog 2022-04-13 17:26:01.000000000 +1200 @@ -1,4 +1,13 @@ -Changes in squid-5.4.1 (12 Feb 2021): +Changes in squid-5.5 (12 Apr 2022): + + - Regression Bug 5192: esi_parser default is incorrect + - Bug 5177: clientca certificates sent to https_port clients + - Bug 5090: Must(!request->pinnedConnection()) violation + - Kid restart leads to persistent queue overflows, delays/timeouts + - Fix build on Illumos + - ESI: Drop incorrect and unnecessary xmlSetFeature() call + +Changes in squid-5.4.1 (12 Feb 2022): - Bug 5055: FATAL FwdState::noteDestinationsEnd exception: opening - Fix FATAL ServiceRep::putConnection exception: theBusyConns > 0 @@ -21,7 +30,7 @@ - Polished AsyncJob::Start() API - ... and update code documentation -Changes in squid-5.4 (07 Feb 2021): +Changes in squid-5.4 (07 Feb 2022): - Bug 5190: Preserve configured order of intermediate CA certificate chain - Bug 5188: Fix reconfiguration leaking tls-cert=... memory diff -u -r -N squid-5.4.1/compat/Makefile.in squid-5.5/compat/Makefile.in --- squid-5.4.1/compat/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/compat/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -550,6 +550,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/configure squid-5.5/configure --- squid-5.4.1/configure 2022-02-12 17:06:05.000000000 +1300 +++ squid-5.5/configure 2022-04-13 20:30:32.000000000 +1200 @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Squid Web Proxy 5.4.1. +# Generated by GNU Autoconf 2.71 for Squid Web Proxy 5.5. # # Report bugs to . # @@ -626,8 +626,8 @@ # Identity of this package. PACKAGE_NAME='Squid Web Proxy' PACKAGE_TARNAME='squid' -PACKAGE_VERSION='5.4.1' -PACKAGE_STRING='Squid Web Proxy 5.4.1' +PACKAGE_VERSION='5.5' +PACKAGE_STRING='Squid Web Proxy 5.5' PACKAGE_BUGREPORT='http://bugs.squid-cache.org/' PACKAGE_URL='' @@ -857,6 +857,7 @@ ac_ct_AR DLLTOOL OBJDUMP +FILECMD NM ac_ct_DUMPBIN DUMPBIN @@ -1690,7 +1691,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 Squid Web Proxy 5.4.1 to adapt to many kinds of systems. +\`configure' configures Squid Web Proxy 5.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1761,7 +1762,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Squid Web Proxy 5.4.1:";; + short | recursive ) echo "Configuration of Squid Web Proxy 5.5:";; esac cat <<\_ACEOF @@ -2195,7 +2196,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Squid Web Proxy configure 5.4.1 +Squid Web Proxy configure 5.5 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3208,7 +3209,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Squid Web Proxy $as_me 5.4.1, which was +It was created by Squid Web Proxy $as_me 5.5, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4700,7 +4701,7 @@ # Define the identity of the package. PACKAGE='squid' - VERSION='5.4.1' + VERSION='5.5' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -9314,13 +9315,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -9458,7 +9459,7 @@ fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -9551,7 +9552,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -9594,7 +9595,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -9800,6 +9801,114 @@ if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -9942,7 +10051,7 @@ bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -9976,14 +10085,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -9997,7 +10106,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' @@ -10044,7 +10153,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -10417,13 +10526,29 @@ fi : ${AR=ar} -: ${AR_FLAGS=cr} +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + @@ -10840,7 +10965,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -10858,20 +10983,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -10895,7 +11020,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -10913,9 +11038,9 @@ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -11115,7 +11240,7 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -11241,7 +11366,7 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -11262,7 +11387,7 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -11274,7 +11399,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -11300,7 +11425,7 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -11308,7 +11433,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -11316,7 +11441,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -11340,14 +11465,14 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -11455,7 +11580,7 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -12238,8 +12363,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cr libconftest.a conftest.o" >&5 - $AR cr libconftest.a conftest.o 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -12266,17 +12391,12 @@ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[912]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -12613,8 +12733,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -13128,7 +13248,7 @@ lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' @@ -13551,15 +13671,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -13614,7 +13734,7 @@ whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -13726,6 +13846,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; interix[3-9]*) @@ -13740,7 +13861,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -13783,7 +13904,7 @@ compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes @@ -13795,13 +13916,14 @@ if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -13811,7 +13933,7 @@ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -13943,7 +14065,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -14214,12 +14336,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -14260,7 +14382,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -14301,8 +14423,8 @@ output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -14336,7 +14458,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -14517,6 +14639,7 @@ # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; esac ;; @@ -14588,6 +14711,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; osf3*) @@ -15280,7 +15404,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -15290,14 +15414,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -15316,7 +15440,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -15353,7 +15477,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -15386,7 +15510,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -16551,30 +16675,41 @@ old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - fi - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; - esac + ;; + esac + fi fi @@ -17344,8 +17479,8 @@ cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' @@ -17436,11 +17571,11 @@ output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" if test yes != "$lt_cv_apple_cc_single_mod"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi else @@ -17475,6 +17610,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' ;; dgux*) @@ -17505,7 +17641,7 @@ archive_cmds_need_lc_CXX=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes @@ -17642,7 +17778,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -17782,13 +17918,13 @@ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' @@ -18445,7 +18581,7 @@ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -18528,7 +18664,7 @@ lt_prog_compiler_static_CXX='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' @@ -18915,7 +19051,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -18923,7 +19059,7 @@ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -19274,7 +19410,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) @@ -19283,14 +19419,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -19309,7 +19445,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -19346,7 +19482,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -19378,7 +19514,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -20749,7 +20885,7 @@ # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) @@ -20888,7 +21024,7 @@ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' save_IFS=$IFS IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` IFS=$save_IFS lt_os_major=${2-0} lt_os_minor=${3-0} @@ -47741,7 +47877,7 @@ if test -n "$_LT_LIBOBJS"; then # Remove the extension. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done @@ -48306,7 +48442,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Squid Web Proxy $as_me 5.4.1, which was +This file was extended by Squid Web Proxy $as_me 5.5, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -48374,7 +48510,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Squid Web Proxy config.status 5.4.1 +Squid Web Proxy config.status 5.5 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -48537,6 +48673,7 @@ lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' @@ -48545,6 +48682,7 @@ DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -48719,6 +48857,7 @@ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -48727,7 +48866,6 @@ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -49831,6 +49969,9 @@ # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # An object symbol dumper. OBJDUMP=$lt_OBJDUMP @@ -49855,8 +49996,11 @@ # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -50246,7 +50390,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || diff -u -r -N squid-5.4.1/configure.ac squid-5.5/configure.ac --- squid-5.4.1/configure.ac 2022-02-12 17:06:05.000000000 +1300 +++ squid-5.5/configure.ac 2022-04-13 20:30:32.000000000 +1200 @@ -5,7 +5,7 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_INIT([Squid Web Proxy],[5.4.1],[http://bugs.squid-cache.org/],[squid]) +AC_INIT([Squid Web Proxy],[5.5],[http://bugs.squid-cache.org/],[squid]) AC_PREREQ(2.61) AC_CONFIG_HEADERS([include/autoconf.h]) AC_CONFIG_AUX_DIR(cfgaux) diff -u -r -N squid-5.4.1/contrib/Makefile.in squid-5.5/contrib/Makefile.in --- squid-5.4.1/contrib/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/contrib/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -247,6 +247,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/doc/Makefile.in squid-5.5/doc/Makefile.in --- squid-5.4.1/doc/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/doc/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -300,6 +300,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/doc/manuals/Makefile.in squid-5.5/doc/manuals/Makefile.in --- squid-5.4.1/doc/manuals/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/doc/manuals/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -242,6 +242,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/doc/release-notes/Makefile.in squid-5.5/doc/release-notes/Makefile.in --- squid-5.4.1/doc/release-notes/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/doc/release-notes/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -242,6 +242,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/doc/release-notes/release-5.html squid-5.5/doc/release-notes/release-5.html --- squid-5.4.1/doc/release-notes/release-5.html 2022-02-12 17:11:07.000000000 +1300 +++ squid-5.5/doc/release-notes/release-5.html 2022-04-13 20:37:56.000000000 +1200 @@ -3,10 +3,10 @@ - Squid 5.4.1 release notes + Squid 5.5 release notes -

Squid 5.4.1 release notes

+

Squid 5.5 release notes

Squid Developers


@@ -61,7 +61,7 @@

1. Notice

-

The Squid Team are pleased to announce the release of Squid-5.4.1.

+

The Squid Team are pleased to announce the release of Squid-5.5.

This new release is available for download from http://www.squid-cache.org/Versions/v5/ or the mirrors.

@@ -329,6 +329,12 @@

New code A to display Squid listening IP address the client TCP connection was connected to.

+
esi_parser
+

Squid-4 removal of the custom parser introduced a bug which caused +the default ESI parser library to be unpredictable. Squid-5.5 release +restores the documented default of libxml2 as most preferred, with +libexpat as alternative.

+
http_port

New worker-queues option to have TCP stack maintain dedicated listening queue for each worker in SMP.

@@ -338,6 +344,9 @@ listening queue for each worker in SMP.

New CONDITIONAL_AUTH flag for sslflags= option to request client certificate(s) but not reject clients without any.

+

Squid-5.5 will no longer use tls-clientca= certificates +as possible intermediary CA for the server CA certificate chain when +OpenSSL library supports SSL_MODE_NO_AUTO_CHAIN mode.

logformat

New ssl::<cert macro code to display received server X.509 diff -u -r -N squid-5.4.1/errors/Makefile.in squid-5.5/errors/Makefile.in --- squid-5.4.1/errors/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/errors/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -243,6 +243,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/icons/Makefile.in squid-5.5/icons/Makefile.in --- squid-5.4.1/icons/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/icons/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -272,6 +272,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/include/version.h squid-5.5/include/version.h --- squid-5.4.1/include/version.h 2022-02-12 17:06:05.000000000 +1300 +++ squid-5.5/include/version.h 2022-04-13 20:30:32.000000000 +1200 @@ -7,7 +7,7 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1644638749 +#define SQUID_RELEASE_TIME 1649838622 #endif /* diff -u -r -N squid-5.4.1/lib/libTrie/Makefile.in squid-5.5/lib/libTrie/Makefile.in --- squid-5.4.1/lib/libTrie/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/libTrie/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -570,6 +570,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/libTrie/test/Makefile.in squid-5.5/lib/libTrie/test/Makefile.in --- squid-5.4.1/lib/libTrie/test/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/libTrie/test/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -501,6 +501,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/Makefile.in squid-5.5/lib/Makefile.in --- squid-5.4.1/lib/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -619,6 +619,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/ntlmauth/Makefile.in squid-5.5/lib/ntlmauth/Makefile.in --- squid-5.4.1/lib/ntlmauth/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/ntlmauth/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -521,6 +521,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/profiler/Makefile.in squid-5.5/lib/profiler/Makefile.in --- squid-5.4.1/lib/profiler/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/profiler/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -525,6 +525,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/rfcnb/Makefile.in squid-5.5/lib/rfcnb/Makefile.in --- squid-5.4.1/lib/rfcnb/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/rfcnb/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -502,6 +502,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/smblib/Makefile.in squid-5.5/lib/smblib/Makefile.in --- squid-5.4.1/lib/smblib/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/smblib/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -504,6 +504,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/lib/snmplib/Makefile.in squid-5.5/lib/snmplib/Makefile.in --- squid-5.4.1/lib/snmplib/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/lib/snmplib/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -297,6 +297,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/libltdl/configure squid-5.5/libltdl/configure --- squid-5.4.1/libltdl/configure 2022-02-12 17:06:58.000000000 +1300 +++ squid-5.5/libltdl/configure 2022-04-13 20:31:02.000000000 +1200 @@ -687,6 +687,7 @@ RANLIB ac_ct_AR AR +FILECMD LN_S NM ac_ct_DUMPBIN @@ -5201,13 +5202,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -5345,7 +5346,7 @@ fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -5449,7 +5450,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -5492,7 +5493,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -5698,6 +5699,114 @@ if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5837,7 +5946,7 @@ bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -5871,14 +5980,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -5892,7 +6001,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' @@ -5939,7 +6048,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -6310,13 +6419,29 @@ fi : ${AR=ar} -: ${AR_FLAGS=cr} +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + @@ -6733,7 +6858,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -6751,20 +6876,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -6788,7 +6913,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -6806,9 +6931,9 @@ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -7008,7 +7133,7 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -7133,7 +7258,7 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -7154,7 +7279,7 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -7166,7 +7291,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -7192,7 +7317,7 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -7200,7 +7325,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -7208,7 +7333,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -7232,14 +7357,14 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -7347,7 +7472,7 @@ ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -8130,8 +8255,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cr libconftest.a conftest.o" >&5 - $AR cr libconftest.a conftest.o 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -8158,17 +8283,12 @@ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[912]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -8883,8 +9003,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -9402,7 +9522,7 @@ lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' @@ -9825,15 +9945,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -9888,7 +10008,7 @@ whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -10000,6 +10120,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; interix[3-9]*) @@ -10014,7 +10135,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -10057,7 +10178,7 @@ compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes @@ -10069,13 +10190,14 @@ if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -10085,7 +10207,7 @@ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -10217,7 +10339,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -10488,12 +10610,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -10534,7 +10656,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -10575,8 +10697,8 @@ output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -10610,7 +10732,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -10791,6 +10913,7 @@ # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; esac ;; @@ -10862,6 +10985,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; osf3*) @@ -11554,7 +11678,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -11564,14 +11688,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -11590,7 +11714,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -11627,7 +11751,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -11660,7 +11784,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -12825,30 +12949,41 @@ old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - fi - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - ;; - esac + ;; + esac + fi fi @@ -13605,7 +13740,7 @@ # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) @@ -13746,7 +13881,7 @@ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' save_IFS=$IFS IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` IFS=$save_IFS lt_os_major=${2-0} lt_os_minor=${3-0} @@ -14721,12 +14856,14 @@ lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -14850,13 +14987,13 @@ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -15807,6 +15944,9 @@ # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -15825,8 +15965,11 @@ # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -16202,7 +16345,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || diff -u -r -N squid-5.4.1/libltdl/configure.ac squid-5.5/libltdl/configure.ac --- squid-5.4.1/libltdl/configure.ac 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/configure.ac 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ # Process this file with autoconf to create configure. -*- autoconf -*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__alloc.h squid-5.5/libltdl/libltdl/lt__alloc.h --- squid-5.4.1/libltdl/libltdl/lt__alloc.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__alloc.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt__alloc.h -- internal memory management interface - Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__argz_.h squid-5.5/libltdl/libltdl/lt__argz_.h --- squid-5.4.1/libltdl/libltdl/lt__argz_.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__argz_.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt__argz.h -- internal argz interface for non-glibc systems - Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__dirent.h squid-5.5/libltdl/libltdl/lt__dirent.h --- squid-5.4.1/libltdl/libltdl/lt__dirent.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__dirent.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt__dirent.h -- internal directory entry scanning interface - Copyright (C) 2001, 2004, 2006, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2001, 2004, 2006, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Bob Friesenhahn, 2001 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt_dlloader.h squid-5.5/libltdl/libltdl/lt_dlloader.h --- squid-5.4.1/libltdl/libltdl/lt_dlloader.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt_dlloader.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt_dlloader.h -- dynamic library loader interface - Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt_error.h squid-5.5/libltdl/libltdl/lt_error.h --- squid-5.4.1/libltdl/libltdl/lt_error.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt_error.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt_error.h -- error propagation interface - Copyright (C) 1999-2001, 2004, 2007, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1999-2001, 2004, 2007, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1999 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__glibc.h squid-5.5/libltdl/libltdl/lt__glibc.h --- squid-5.4.1/libltdl/libltdl/lt__glibc.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__glibc.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt__glibc.h -- support for non glibc environments - Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__private.h squid-5.5/libltdl/libltdl/lt__private.h --- squid-5.4.1/libltdl/libltdl/lt__private.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__private.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt__private.h -- internal apis for libltdl - Copyright (C) 2004-2008, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2004-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt__strl.h squid-5.5/libltdl/libltdl/lt__strl.h --- squid-5.4.1/libltdl/libltdl/lt__strl.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt__strl.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt__strl.h -- size-bounded string copying and concatenation - Copyright (C) 2004, 2006, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Bob Friesenhahn, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/lt_system.h squid-5.5/libltdl/libltdl/lt_system.h --- squid-5.4.1/libltdl/libltdl/lt_system.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/lt_system.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt_system.h -- system portability abstraction layer - Copyright (C) 2004, 2007, 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2004, 2007, 2010-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/libltdl/slist.h squid-5.5/libltdl/libltdl/slist.h --- squid-5.4.1/libltdl/libltdl/slist.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/libltdl/slist.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* slist.h -- generalised singly linked lists - Copyright (C) 2000, 2004, 2009, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2000, 2004, 2009, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2000 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/dld_link.c squid-5.5/libltdl/loaders/dld_link.c --- squid-5.4.1/libltdl/loaders/dld_link.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/dld_link.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-dld_link.c -- dynamic linking with dld - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -112,7 +112,7 @@ { lt_module module = lt__strdup (filename); - if (dld_link (filename) != 0) + if (module && dld_link (filename) != 0) { LT__SETERROR (CANNOT_OPEN); FREE (module); diff -u -r -N squid-5.4.1/libltdl/loaders/dlopen.c squid-5.5/libltdl/loaders/dlopen.c --- squid-5.4.1/libltdl/loaders/dlopen.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/dlopen.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-dlopen.c -- dynamic linking with dlopen/dlsym - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/dyld.c squid-5.5/libltdl/loaders/dyld.c --- squid-5.4.1/libltdl/loaders/dyld.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/dyld.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-dyld.c -- dynamic linking on darwin and OS X - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Peter O'Gorman, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/load_add_on.c squid-5.5/libltdl/loaders/load_add_on.c --- squid-5.4.1/libltdl/loaders/load_add_on.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/load_add_on.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-load_add_on.c -- dynamic linking for BeOS - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/loadlibrary.c squid-5.5/libltdl/loaders/loadlibrary.c --- squid-5.4.1/libltdl/loaders/loadlibrary.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/loadlibrary.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-loadlibrary.c -- dynamic linking for Win32 - Copyright (C) 1998-2000, 2004-2008, 2010-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004-2008, 2010-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/preopen.c squid-5.5/libltdl/loaders/preopen.c --- squid-5.4.1/libltdl/loaders/preopen.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/preopen.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-preopen.c -- emulate dynamic linking using preloaded_symbols - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/loaders/shl_load.c squid-5.5/libltdl/loaders/shl_load.c --- squid-5.4.1/libltdl/loaders/shl_load.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/loaders/shl_load.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* loader-shl_load.c -- dynamic linking with shl_load (HP-UX) - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/lt__alloc.c squid-5.5/libltdl/lt__alloc.c --- squid-5.4.1/libltdl/lt__alloc.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt__alloc.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt__alloc.c -- internal memory management interface - Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/lt__argz.c squid-5.5/libltdl/lt__argz.c --- squid-5.4.1/libltdl/lt__argz.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt__argz.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt__argz.c -- argz implementation for non-glibc systems - Copyright (C) 2004, 2006-2008, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2006-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/lt__dirent.c squid-5.5/libltdl/lt__dirent.c --- squid-5.4.1/libltdl/lt__dirent.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt__dirent.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt__dirent.c -- internal directory entry scanning interface - Copyright (C) 2001, 2004, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Bob Friesenhahn, 2001 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/ltdl.c squid-5.5/libltdl/ltdl.c --- squid-5.4.1/libltdl/ltdl.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/ltdl.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* ltdl.c -- system independent dlopen wrapper - Copyright (C) 1998-2000, 2004-2008, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1998-2000, 2004-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/ltdl.h squid-5.5/libltdl/ltdl.h --- squid-5.4.1/libltdl/ltdl.h 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/ltdl.h 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* ltdl.h -- generic dlopen functions - Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2015 Free - Software Foundation, Inc. + Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2019, 2021-2022 + Free Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/lt_dlloader.c squid-5.5/libltdl/lt_dlloader.c --- squid-5.4.1/libltdl/lt_dlloader.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt_dlloader.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt_dlloader.c -- dynamic library loader interface - Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, - Inc. + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -168,6 +168,10 @@ /* Fail if there are any open modules that use this loader. */ iface = lt_dlinterface_register (id_string, NULL); + if (!iface) + /* No memory, error is already set. */ + return 0; + while ((handle = lt_dlhandle_iterate (iface, handle))) { lt_dlhandle cur = handle; diff -u -r -N squid-5.4.1/libltdl/lt_error.c squid-5.5/libltdl/lt_error.c --- squid-5.4.1/libltdl/lt_error.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt_error.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* lt_error.c -- error propagation interface - Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Thomas Tanner, 1999 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/lt__strl.c squid-5.5/libltdl/lt__strl.c --- squid-5.4.1/libltdl/lt__strl.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/lt__strl.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ /* lt__strl.c -- size-bounded string copying and concatenation - Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, + Inc. Written by Bob Friesenhahn, 2004 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/libltdl/m4/libtool.m4 squid-5.5/libltdl/m4/libtool.m4 --- squid-5.4.1/libltdl/m4/libtool.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/libtool.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -31,7 +32,7 @@ # along with this program. If not, see . ]) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -181,6 +182,7 @@ m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -219,8 +221,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -777,7 +779,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1041,8 +1043,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1066,17 +1068,12 @@ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*|11.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1125,12 +1122,12 @@ output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -1244,7 +1241,8 @@ # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot @@ -1261,7 +1259,7 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1291,7 +1289,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1308,7 +1306,7 @@ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1320,7 +1318,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1342,7 +1340,7 @@ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1350,7 +1348,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1358,7 +1356,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1378,14 +1376,14 @@ # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1453,7 +1451,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1492,9 +1490,22 @@ m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no @@ -1713,7 +1724,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1756,7 +1767,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2206,26 +2217,35 @@ striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) @@ -2548,7 +2568,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; @@ -2558,14 +2578,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2584,7 +2604,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2621,7 +2641,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2654,7 +2674,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3465,7 +3485,7 @@ bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3499,14 +3519,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3520,7 +3540,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' @@ -3567,7 +3587,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3694,13 +3714,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3726,7 +3746,7 @@ # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3966,7 +3986,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -3984,20 +4004,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -4021,7 +4041,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ @@ -4039,9 +4059,9 @@ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -4329,7 +4349,7 @@ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4412,7 +4432,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4754,7 +4774,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4937,7 +4957,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -4945,7 +4965,7 @@ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -5005,15 +5025,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5068,7 +5088,7 @@ _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -5180,6 +5200,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) @@ -5194,7 +5215,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -5237,7 +5258,7 @@ _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes @@ -5249,13 +5270,14 @@ if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -5265,7 +5287,7 @@ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -5397,7 +5419,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -5580,12 +5602,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5626,7 +5648,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5674,7 +5696,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5815,6 +5837,7 @@ # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; esac ;; @@ -5886,6 +5909,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6656,8 +6680,8 @@ cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6755,6 +6779,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6785,7 +6810,7 @@ _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6922,7 +6947,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -7062,13 +7087,13 @@ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8214,6 +8239,14 @@ AC_SUBST([DLLTOOL]) ]) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates diff -u -r -N squid-5.4.1/libltdl/m4/ltargz.m4 squid-5.5/libltdl/m4/ltargz.m4 --- squid-5.4.1/libltdl/m4/ltargz.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/ltargz.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,15 +1,18 @@ # Portability macros for glibc argz. -*- Autoconf -*- # -# Copyright (C) 2004-2007, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004-2007, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 1 ltargz.m4 +# serial 2 ltargz.m4 AC_DEFUN([LT_FUNC_ARGZ], [ +dnl Required for use of '$SED' in Cygwin configuration. +AC_REQUIRE([AC_PROG_SED])dnl AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) AC_CHECK_TYPES([error_t], @@ -48,7 +51,7 @@ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' save_IFS=$IFS IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` IFS=$save_IFS lt_os_major=${2-0} lt_os_minor=${3-0} diff -u -r -N squid-5.4.1/libltdl/m4/ltdl.m4 squid-5.5/libltdl/m4/ltdl.m4 --- squid-5.4.1/libltdl/m4/ltdl.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/ltdl.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,13 +1,14 @@ # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # -# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Thomas Tanner, 1999 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 20 LTDL_INIT +# serial 21 LTDL_INIT # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # ------------------------------------------ @@ -335,7 +336,7 @@ if test -n "$_LT_LIBOBJS"; then # Remove the extension. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done @@ -473,7 +474,7 @@ # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) diff -u -r -N squid-5.4.1/libltdl/m4/lt~obsolete.m4 squid-5.5/libltdl/m4/lt~obsolete.m4 --- squid-5.4.1/libltdl/m4/lt~obsolete.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/lt~obsolete.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives diff -u -r -N squid-5.4.1/libltdl/m4/ltoptions.m4 squid-5.5/libltdl/m4/ltoptions.m4 --- squid-5.4.1/libltdl/m4/ltoptions.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/ltoptions.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives diff -u -r -N squid-5.4.1/libltdl/m4/ltsugar.m4 squid-5.5/libltdl/m4/ltsugar.m4 --- squid-5.4.1/libltdl/m4/ltsugar.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/ltsugar.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # diff -u -r -N squid-5.4.1/libltdl/m4/ltversion.m4 squid-5.5/libltdl/m4/ltversion.m4 --- squid-5.4.1/libltdl/m4/ltversion.m4 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/m4/ltversion.m4 2022-04-13 20:30:26.000000000 +1200 @@ -1,6 +1,7 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives diff -u -r -N squid-5.4.1/libltdl/Makefile.am squid-5.5/libltdl/Makefile.am --- squid-5.4.1/libltdl/Makefile.am 2022-02-12 17:05:58.000000000 +1300 +++ squid-5.5/libltdl/Makefile.am 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ ## ltdl.mk -- includable Makefile snippet ## -## Copyright (C) 2003-2005, 2007, 2011-2015 Free Software Foundation, -## Inc. +## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2022 Free Software +## Foundation, Inc. ## Written by Gary V. Vaughan, 2003 ## ## NOTE: The canonical source of this file is maintained with the @@ -48,7 +48,7 @@ -DLTDL -I. -I$(srcdir) -Ilibltdl \ -I$(srcdir)/libltdl AM_LDFLAGS += -no-undefined -LTDL_VERSION_INFO = -version-info 10:1:3 +LTDL_VERSION_INFO = -version-info 10:2:3 noinst_LTLIBRARIES += $(LT_DLLOADERS) diff -u -r -N squid-5.4.1/libltdl/Makefile.in squid-5.5/libltdl/Makefile.in --- squid-5.4.1/libltdl/Makefile.in 2022-02-12 17:06:58.000000000 +1300 +++ squid-5.5/libltdl/Makefile.in 2022-04-13 20:31:02.000000000 +1200 @@ -350,6 +350,7 @@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -470,7 +471,7 @@ CLEANFILES = libltdl.la libltdlc.la libdlloader.la $(LIBOBJS) \ $(LTLIBOBJS) MOSTLYCLEANFILES = libltdl/lt__argz.h libltdl/lt__argz.h-t -LTDL_VERSION_INFO = -version-info 10:1:3 +LTDL_VERSION_INFO = -version-info 10:2:3 @INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl @INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/lt_system.h \ @INSTALL_LTDL_TRUE@ libltdl/lt_error.h \ diff -u -r -N squid-5.4.1/libltdl/README squid-5.5/libltdl/README --- squid-5.4.1/libltdl/README 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/README 2022-04-13 20:30:26.000000000 +1200 @@ -9,7 +9,8 @@ * dyld (darwin/Mac OS X) * libtool's dlpreopen -- - Copyright (C) 1999, 2003, 2011-2015 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2011-2019, 2021-2022 Free Software + Foundation, Inc. Written by Thomas Tanner, 1999 This file is part of GNU Libtool. diff -u -r -N squid-5.4.1/libltdl/slist.c squid-5.5/libltdl/slist.c --- squid-5.4.1/libltdl/slist.c 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/libltdl/slist.c 2022-04-13 20:30:26.000000000 +1200 @@ -1,7 +1,7 @@ /* slist.c -- generalised singly linked lists - Copyright (C) 2000, 2004, 2007-2009, 2011-2015 Free Software - Foundation, Inc. + Copyright (C) 2000, 2004, 2007-2009, 2011-2019, 2021-2022 Free + Software Foundation, Inc. Written by Gary V. Vaughan, 2000 NOTE: The canonical source of this file is maintained with the diff -u -r -N squid-5.4.1/Makefile.in squid-5.5/Makefile.in --- squid-5.4.1/Makefile.in 2022-02-12 17:05:59.000000000 +1300 +++ squid-5.5/Makefile.in 2022-04-13 20:30:26.000000000 +1200 @@ -329,6 +329,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/RELEASENOTES.html squid-5.5/RELEASENOTES.html --- squid-5.4.1/RELEASENOTES.html 2022-02-12 17:11:07.000000000 +1300 +++ squid-5.5/RELEASENOTES.html 2022-04-13 20:37:56.000000000 +1200 @@ -3,10 +3,10 @@ - Squid 5.4.1 release notes + Squid 5.5 release notes -

Squid 5.4.1 release notes

+

Squid 5.5 release notes

Squid Developers


@@ -61,7 +61,7 @@

1. Notice

-

The Squid Team are pleased to announce the release of Squid-5.4.1.

+

The Squid Team are pleased to announce the release of Squid-5.5.

This new release is available for download from http://www.squid-cache.org/Versions/v5/ or the mirrors.

@@ -329,6 +329,12 @@

New code A to display Squid listening IP address the client TCP connection was connected to.

+
esi_parser
+

Squid-4 removal of the custom parser introduced a bug which caused +the default ESI parser library to be unpredictable. Squid-5.5 release +restores the documented default of libxml2 as most preferred, with +libexpat as alternative.

+
http_port

New worker-queues option to have TCP stack maintain dedicated listening queue for each worker in SMP.

@@ -338,6 +344,9 @@ listening queue for each worker in SMP.

New CONDITIONAL_AUTH flag for sslflags= option to request client certificate(s) but not reject clients without any.

+

Squid-5.5 will no longer use tls-clientca= certificates +as possible intermediary CA for the server CA certificate chain when +OpenSSL library supports SSL_MODE_NO_AUTO_CHAIN mode.

logformat

New ssl::<cert macro code to display received server X.509 diff -u -r -N squid-5.4.1/scripts/Makefile.in squid-5.5/scripts/Makefile.in --- squid-5.4.1/scripts/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/scripts/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -245,6 +245,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/AD_group/Makefile.in squid-5.5/src/acl/external/AD_group/Makefile.in --- squid-5.4.1/src/acl/external/AD_group/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/acl/external/AD_group/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -511,6 +511,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/delayer/ext_delayer_acl.8 squid-5.5/src/acl/external/delayer/ext_delayer_acl.8 --- squid-5.4.1/src/acl/external/delayer/ext_delayer_acl.8 2022-02-12 17:11:10.000000000 +1300 +++ squid-5.5/src/acl/external/delayer/ext_delayer_acl.8 2022-04-13 20:37:58.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_DELAYER_ACL 8" -.TH EXT_DELAYER_ACL 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH EXT_DELAYER_ACL 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/acl/external/delayer/Makefile.in squid-5.5/src/acl/external/delayer/Makefile.in --- squid-5.4.1/src/acl/external/delayer/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/delayer/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/eDirectory_userip/Makefile.in squid-5.5/src/acl/external/eDirectory_userip/Makefile.in --- squid-5.4.1/src/acl/external/eDirectory_userip/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/eDirectory_userip/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -514,6 +514,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/file_userip/Makefile.in squid-5.5/src/acl/external/file_userip/Makefile.in --- squid-5.4.1/src/acl/external/file_userip/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/file_userip/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/kerberos_ldap_group/Makefile.in squid-5.5/src/acl/external/kerberos_ldap_group/Makefile.in --- squid-5.4.1/src/acl/external/kerberos_ldap_group/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/kerberos_ldap_group/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -547,6 +547,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 squid-5.5/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 --- squid-5.4.1/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 2022-02-12 17:11:11.000000000 +1300 +++ squid-5.5/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 2022-04-13 20:37:58.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_KERBEROS_SID_GROUP_ACL 8" -.TH EXT_KERBEROS_SID_GROUP_ACL 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH EXT_KERBEROS_SID_GROUP_ACL 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/acl/external/kerberos_sid_group/Makefile.in squid-5.5/src/acl/external/kerberos_sid_group/Makefile.in --- squid-5.4.1/src/acl/external/kerberos_sid_group/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/kerberos_sid_group/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/LDAP_group/Makefile.in squid-5.5/src/acl/external/LDAP_group/Makefile.in --- squid-5.4.1/src/acl/external/LDAP_group/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/acl/external/LDAP_group/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -514,6 +514,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/LM_group/Makefile.in squid-5.5/src/acl/external/LM_group/Makefile.in --- squid-5.4.1/src/acl/external/LM_group/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/LM_group/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/Makefile.in squid-5.5/src/acl/external/Makefile.in --- squid-5.4.1/src/acl/external/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -299,6 +299,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/session/Makefile.in squid-5.5/src/acl/external/session/Makefile.in --- squid-5.4.1/src/acl/external/session/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/session/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -511,6 +511,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/SQL_session/ext_sql_session_acl.8 squid-5.5/src/acl/external/SQL_session/ext_sql_session_acl.8 --- squid-5.4.1/src/acl/external/SQL_session/ext_sql_session_acl.8 2022-02-12 17:11:11.000000000 +1300 +++ squid-5.5/src/acl/external/SQL_session/ext_sql_session_acl.8 2022-04-13 20:37:58.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_SQL_SESSION_ACL 8" -.TH EXT_SQL_SESSION_ACL 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH EXT_SQL_SESSION_ACL 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/acl/external/SQL_session/Makefile.in squid-5.5/src/acl/external/SQL_session/Makefile.in --- squid-5.4.1/src/acl/external/SQL_session/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/SQL_session/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/time_quota/Makefile.in squid-5.5/src/acl/external/time_quota/Makefile.in --- squid-5.4.1/src/acl/external/time_quota/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/time_quota/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/unix_group/Makefile.in squid-5.5/src/acl/external/unix_group/Makefile.in --- squid-5.4.1/src/acl/external/unix_group/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/unix_group/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 squid-5.5/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 --- squid-5.4.1/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2022-02-12 17:11:11.000000000 +1300 +++ squid-5.5/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2022-04-13 20:37:58.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_WBINFO_GROUP_ACL 8" -.TH EXT_WBINFO_GROUP_ACL 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH EXT_WBINFO_GROUP_ACL 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/acl/external/wbinfo_group/Makefile.in squid-5.5/src/acl/external/wbinfo_group/Makefile.in --- squid-5.4.1/src/acl/external/wbinfo_group/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/acl/external/wbinfo_group/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/acl/Makefile.in squid-5.5/src/acl/Makefile.in --- squid-5.4.1/src/acl/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/acl/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -666,6 +666,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/adaptation/ecap/Makefile.in squid-5.5/src/adaptation/ecap/Makefile.in --- squid-5.4.1/src/adaptation/ecap/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/adaptation/ecap/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -532,6 +532,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/adaptation/icap/Makefile.in squid-5.5/src/adaptation/icap/Makefile.in --- squid-5.4.1/src/adaptation/icap/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/adaptation/icap/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -528,6 +528,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/adaptation/Makefile.in squid-5.5/src/adaptation/Makefile.in --- squid-5.4.1/src/adaptation/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/adaptation/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -575,6 +575,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/anyp/Makefile.in squid-5.5/src/anyp/Makefile.in --- squid-5.4.1/src/anyp/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/anyp/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -523,6 +523,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/DB/basic_db_auth.8 squid-5.5/src/auth/basic/DB/basic_db_auth.8 --- squid-5.4.1/src/auth/basic/DB/basic_db_auth.8 2022-02-12 17:11:12.000000000 +1300 +++ squid-5.5/src/auth/basic/DB/basic_db_auth.8 2022-04-13 20:37:59.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BASIC_DB_AUTH 8" -.TH BASIC_DB_AUTH 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH BASIC_DB_AUTH 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/auth/basic/DB/Makefile.in squid-5.5/src/auth/basic/DB/Makefile.in --- squid-5.4.1/src/auth/basic/DB/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/DB/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/fake/Makefile.in squid-5.5/src/auth/basic/fake/Makefile.in --- squid-5.4.1/src/auth/basic/fake/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/basic/fake/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -506,6 +506,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/getpwnam/Makefile.in squid-5.5/src/auth/basic/getpwnam/Makefile.in --- squid-5.4.1/src/auth/basic/getpwnam/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/basic/getpwnam/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/LDAP/basic_ldap_auth.cc squid-5.5/src/auth/basic/LDAP/basic_ldap_auth.cc --- squid-5.4.1/src/auth/basic/LDAP/basic_ldap_auth.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/auth/basic/LDAP/basic_ldap_auth.cc 2022-04-13 17:26:01.000000000 +1200 @@ -134,6 +134,10 @@ #include #include +#ifndef LDAP_SECURITY_ERROR +#define LDAP_SECURITY_ERROR(err) (0x2f <= (err) && (err) <= 0x32) // [47, 50] +#endif + #endif #define PROGRAM_NAME "basic_ldap_auth" diff -u -r -N squid-5.4.1/src/auth/basic/LDAP/Makefile.in squid-5.5/src/auth/basic/LDAP/Makefile.in --- squid-5.4.1/src/auth/basic/LDAP/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/LDAP/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/Makefile.in squid-5.5/src/auth/basic/Makefile.in --- squid-5.4.1/src/auth/basic/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -562,6 +562,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/NCSA/Makefile.in squid-5.5/src/auth/basic/NCSA/Makefile.in --- squid-5.4.1/src/auth/basic/NCSA/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/NCSA/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -534,6 +534,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/NIS/Makefile.in squid-5.5/src/auth/basic/NIS/Makefile.in --- squid-5.4.1/src/auth/basic/NIS/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/NIS/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -529,6 +529,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/PAM/Makefile.in squid-5.5/src/auth/basic/PAM/Makefile.in --- squid-5.4.1/src/auth/basic/PAM/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/PAM/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -511,6 +511,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/POP3/basic_pop3_auth.8 squid-5.5/src/auth/basic/POP3/basic_pop3_auth.8 --- squid-5.4.1/src/auth/basic/POP3/basic_pop3_auth.8 2022-02-12 17:11:12.000000000 +1300 +++ squid-5.5/src/auth/basic/POP3/basic_pop3_auth.8 2022-04-13 20:38:00.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BASIC_POP3_AUTH 8" -.TH BASIC_POP3_AUTH 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH BASIC_POP3_AUTH 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/auth/basic/POP3/Makefile.in squid-5.5/src/auth/basic/POP3/Makefile.in --- squid-5.4.1/src/auth/basic/POP3/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/POP3/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/RADIUS/Makefile.in squid-5.5/src/auth/basic/RADIUS/Makefile.in --- squid-5.4.1/src/auth/basic/RADIUS/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/RADIUS/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -534,6 +534,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/SASL/Makefile.in squid-5.5/src/auth/basic/SASL/Makefile.in --- squid-5.4.1/src/auth/basic/SASL/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/SASL/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/SMB/Makefile.in squid-5.5/src/auth/basic/SMB/Makefile.in --- squid-5.4.1/src/auth/basic/SMB/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/SMB/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -516,6 +516,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/SMB_LM/Makefile.in squid-5.5/src/auth/basic/SMB_LM/Makefile.in --- squid-5.4.1/src/auth/basic/SMB_LM/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/SMB_LM/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -529,6 +529,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/basic/SSPI/Makefile.in squid-5.5/src/auth/basic/SSPI/Makefile.in --- squid-5.4.1/src/auth/basic/SSPI/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/basic/SSPI/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -538,6 +538,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/digest/eDirectory/Makefile.in squid-5.5/src/auth/digest/eDirectory/Makefile.in --- squid-5.4.1/src/auth/digest/eDirectory/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/digest/eDirectory/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -531,6 +531,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/digest/file/Makefile.in squid-5.5/src/auth/digest/file/Makefile.in --- squid-5.4.1/src/auth/digest/file/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/digest/file/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -534,6 +534,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/digest/LDAP/Makefile.in squid-5.5/src/auth/digest/LDAP/Makefile.in --- squid-5.4.1/src/auth/digest/LDAP/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/digest/LDAP/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -531,6 +531,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/digest/Makefile.in squid-5.5/src/auth/digest/Makefile.in --- squid-5.4.1/src/auth/digest/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/digest/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -562,6 +562,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/Makefile.in squid-5.5/src/auth/Makefile.in --- squid-5.4.1/src/auth/Makefile.in 2022-02-12 17:06:01.000000000 +1300 +++ squid-5.5/src/auth/Makefile.in 2022-04-13 20:30:28.000000000 +1200 @@ -574,6 +574,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/negotiate/kerberos/Makefile.in squid-5.5/src/auth/negotiate/kerberos/Makefile.in --- squid-5.4.1/src/auth/negotiate/kerberos/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/negotiate/kerberos/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -556,6 +556,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/negotiate/Makefile.in squid-5.5/src/auth/negotiate/Makefile.in --- squid-5.4.1/src/auth/negotiate/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/negotiate/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -563,6 +563,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/negotiate/SSPI/Makefile.in squid-5.5/src/auth/negotiate/SSPI/Makefile.in --- squid-5.4.1/src/auth/negotiate/SSPI/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/negotiate/SSPI/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -512,6 +512,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/negotiate/wrapper/Makefile.in squid-5.5/src/auth/negotiate/wrapper/Makefile.in --- squid-5.4.1/src/auth/negotiate/wrapper/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/negotiate/wrapper/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -509,6 +509,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/ntlm/fake/Makefile.in squid-5.5/src/auth/ntlm/fake/Makefile.in --- squid-5.4.1/src/auth/ntlm/fake/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/ntlm/fake/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -511,6 +511,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/ntlm/Makefile.in squid-5.5/src/auth/ntlm/Makefile.in --- squid-5.4.1/src/auth/ntlm/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/ntlm/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -562,6 +562,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/ntlm/SMB_LM/Makefile.in squid-5.5/src/auth/ntlm/SMB_LM/Makefile.in --- squid-5.4.1/src/auth/ntlm/SMB_LM/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/ntlm/SMB_LM/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -513,6 +513,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/auth/ntlm/SSPI/Makefile.in squid-5.5/src/auth/ntlm/SSPI/Makefile.in --- squid-5.4.1/src/auth/ntlm/SSPI/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/auth/ntlm/SSPI/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -514,6 +514,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/base/AsyncFunCalls.h squid-5.5/src/base/AsyncFunCalls.h --- squid-5.4.1/src/base/AsyncFunCalls.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-5.5/src/base/AsyncFunCalls.h 2022-04-13 17:26:01.000000000 +1200 @@ -0,0 +1,34 @@ +/* + * Copyright (C) 1996-2021 The Squid Software Foundation and contributors + * + * Squid software is distributed under GPLv2+ license and includes + * contributions from numerous individuals and organizations. + * Please see the COPYING and CONTRIBUTORS files for details. + */ + +#ifndef SQUID_BASE_ASYNCFUNCALLS_H +#define SQUID_BASE_ASYNCFUNCALLS_H + +#include "base/AsyncCall.h" + +#include + +/// Calls a function without arguments. See also: NullaryMemFunT. +class NullaryFunDialer: public CallDialer +{ +public: + using Handler = void (); + + explicit NullaryFunDialer(Handler * const aHandler): handler(aHandler) {} + + /* CallDialer API */ + bool canDial(AsyncCall &) { return bool(handler); } + void dial(AsyncCall &) { handler(); } + virtual void print(std::ostream &os) const override { os << "()"; } + +private: + Handler *handler; ///< the function to call (or nil) +}; + +#endif /* SQUID_BASE_ASYNCFUNCALLS_H */ + diff -u -r -N squid-5.4.1/src/base/File.cc squid-5.5/src/base/File.cc --- squid-5.4.1/src/base/File.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/base/File.cc 2022-04-13 17:26:01.000000000 +1200 @@ -107,7 +107,7 @@ // nothing better on Solaris, but do not be tempted to use this elsewhere. For // more info, see http://bugs.squid-cache.org/show_bug.cgi?id=4212#c14 /// fcntl(... struct flock) convenience wrapper -int +static int fcntlLock(const int fd, const short lockType) { // the exact composition and order of flock data members is unknown! diff -u -r -N squid-5.4.1/src/base/Makefile.am squid-5.5/src/base/Makefile.am --- squid-5.4.1/src/base/Makefile.am 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/base/Makefile.am 2022-04-13 17:26:01.000000000 +1200 @@ -16,6 +16,7 @@ AsyncCallQueue.cc \ AsyncCallQueue.h \ AsyncCbdataCalls.h \ + AsyncFunCalls.h \ AsyncJob.cc \ AsyncJob.h \ AsyncJobCalls.h \ diff -u -r -N squid-5.4.1/src/base/Makefile.in squid-5.5/src/base/Makefile.in --- squid-5.4.1/src/base/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/base/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -529,6 +529,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ @@ -742,6 +743,7 @@ AsyncCallQueue.cc \ AsyncCallQueue.h \ AsyncCbdataCalls.h \ + AsyncFunCalls.h \ AsyncJob.cc \ AsyncJob.h \ AsyncJobCalls.h \ diff -u -r -N squid-5.4.1/src/clients/Makefile.in squid-5.5/src/clients/Makefile.in --- squid-5.4.1/src/clients/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/clients/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -525,6 +525,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/CollapsedForwarding.cc squid-5.5/src/CollapsedForwarding.cc --- squid-5.4.1/src/CollapsedForwarding.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/CollapsedForwarding.cc 2022-04-13 17:26:01.000000000 +1200 @@ -9,6 +9,7 @@ /* DEBUG: section 17 Request Forwarding */ #include "squid.h" +#include "base/AsyncFunCalls.h" #include "CollapsedForwarding.h" #include "globals.h" #include "ipc/mem/Segment.h" @@ -48,8 +49,12 @@ CollapsedForwarding::Init() { Must(!queue.get()); - if (UsingSmp() && IamWorkerProcess()) + if (UsingSmp() && IamWorkerProcess()) { queue.reset(new Queue(ShmLabel, KidIdentifier)); + AsyncCall::Pointer callback = asyncCall(17, 4, "CollapsedForwarding::HandleNewDataAtStart", + NullaryFunDialer(&CollapsedForwarding::HandleNewDataAtStart)); + ScheduleCallHere(callback); + } } void @@ -137,6 +142,16 @@ HandleNewData("after notification"); } +/// Handle queued IPC messages for the first time in this process lifetime, when +/// the queue may be reflecting the state of our killed predecessor. +void +CollapsedForwarding::HandleNewDataAtStart() +{ + /// \sa IpcIoFile::HandleMessagesAtStart() -- duplicates this logic + queue->clearAllReaderSignals(); + HandleNewData("at start"); +} + /// initializes shared queue used by CollapsedForwarding class CollapsedForwardingRr: public Ipc::Mem::RegisteredRunner { diff -u -r -N squid-5.4.1/src/CollapsedForwarding.h squid-5.5/src/CollapsedForwarding.h --- squid-5.4.1/src/CollapsedForwarding.h 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/CollapsedForwarding.h 2022-04-13 17:26:01.000000000 +1200 @@ -43,6 +43,8 @@ static void HandleNotification(const Ipc::TypedMsgHdr &msg); private: + static void HandleNewDataAtStart(); + typedef Ipc::MultiQueue Queue; static std::unique_ptr queue; ///< IPC queue }; diff -u -r -N squid-5.4.1/src/comm/Makefile.in squid-5.5/src/comm/Makefile.in --- squid-5.4.1/src/comm/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/comm/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -530,6 +530,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/AIO/Makefile.in squid-5.5/src/DiskIO/AIO/Makefile.in --- squid-5.4.1/src/DiskIO/AIO/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/AIO/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -532,6 +532,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/Blocking/Makefile.in squid-5.5/src/DiskIO/Blocking/Makefile.in --- squid-5.4.1/src/DiskIO/Blocking/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/Blocking/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -524,6 +524,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/DiskDaemon/Makefile.in squid-5.5/src/DiskIO/DiskDaemon/Makefile.in --- squid-5.4.1/src/DiskIO/DiskDaemon/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/DiskDaemon/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -541,6 +541,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/DiskThreads/Makefile.in squid-5.5/src/DiskIO/DiskThreads/Makefile.in --- squid-5.4.1/src/DiskIO/DiskThreads/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/DiskThreads/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -536,6 +536,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/IpcIo/IpcIoFile.cc squid-5.5/src/DiskIO/IpcIo/IpcIoFile.cc --- squid-5.4.1/src/DiskIO/IpcIo/IpcIoFile.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/DiskIO/IpcIo/IpcIoFile.cc 2022-04-13 17:26:01.000000000 +1200 @@ -9,6 +9,7 @@ /* DEBUG: section 47 Store Directory Routines */ #include "squid.h" +#include "base/AsyncFunCalls.h" #include "base/CodeContext.h" #include "base/RunnersRegistry.h" #include "base/TextException.h" @@ -108,8 +109,12 @@ ioRequestor = callback; Must(diskId < 0); // we do not know our disker yet - if (!queue.get()) + if (!queue.get()) { queue.reset(new Queue(ShmLabel, IamWorkerProcess() ? Queue::groupA : Queue::groupB, KidIdentifier)); + AsyncCall::Pointer call = asyncCall(79, 4, "IpcIoFile::HandleMessagesAtStart", + NullaryFunDialer(&IpcIoFile::HandleMessagesAtStart)); + ScheduleCallHere(call); + } if (IamDiskProcess()) { error_ = !DiskerOpen(SBuf(dbName.termedBuf()), flags, mode); @@ -454,7 +459,10 @@ int diskId; while (queue->pop(diskId, ipcIo)) { const IpcIoFilesMap::const_iterator i = IpcIoFiles.find(diskId); - Must(i != IpcIoFiles.end()); // TODO: warn but continue + if (i == IpcIoFiles.end()) { + debugs(47, 5, "ignoring disk response " << SipcIo(KidIdentifier, ipcIo, diskId) << ": the file is not open"); + continue; + } i->second->handleResponse(ipcIo); } } @@ -504,6 +512,18 @@ HandleResponses("after notification"); } +/// \copydoc CollapsedForwarding::HandleNewDataAtStart() +void +IpcIoFile::HandleMessagesAtStart() +{ + /// \sa CollapsedForwarding::HandleNewDataAtStart() -- duplicates this logic + queue->clearAllReaderSignals(); + if (IamDiskProcess()) + DiskerHandleRequests(); + else + HandleResponses("at start"); +} + /// handles open request timeout void IpcIoFile::OpenTimeout(void *const param) diff -u -r -N squid-5.4.1/src/DiskIO/IpcIo/IpcIoFile.h squid-5.5/src/DiskIO/IpcIo/IpcIoFile.h --- squid-5.4.1/src/DiskIO/IpcIo/IpcIoFile.h 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/DiskIO/IpcIo/IpcIoFile.h 2022-04-13 17:26:01.000000000 +1200 @@ -120,6 +120,8 @@ static void DiskerHandleRequest(const int workerId, IpcIoMsg &ipcIo); static bool WaitBeforePop(); + static void HandleMessagesAtStart(); + private: const String dbName; ///< the name of the file we are managing const pid_t myPid; ///< optimization: cached process ID of our process diff -u -r -N squid-5.4.1/src/DiskIO/IpcIo/Makefile.in squid-5.5/src/DiskIO/IpcIo/Makefile.in --- squid-5.4.1/src/DiskIO/IpcIo/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/IpcIo/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -523,6 +523,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/Makefile.in squid-5.5/src/DiskIO/Makefile.in --- squid-5.4.1/src/DiskIO/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -585,6 +585,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/DiskIO/Mmapped/Makefile.in squid-5.5/src/DiskIO/Mmapped/Makefile.in --- squid-5.4.1/src/DiskIO/Mmapped/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/DiskIO/Mmapped/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -523,6 +523,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/dns/Makefile.in squid-5.5/src/dns/Makefile.in --- squid-5.4.1/src/dns/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/dns/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -524,6 +524,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/error/Makefile.in squid-5.5/src/error/Makefile.in --- squid-5.4.1/src/error/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/error/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -525,6 +525,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/esi/Libxml2Parser.cc squid-5.5/src/esi/Libxml2Parser.cc --- squid-5.4.1/src/esi/Libxml2Parser.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/esi/Libxml2Parser.cc 2022-04-13 17:26:01.000000000 +1200 @@ -91,7 +91,6 @@ /* TODO: grab the document encoding from the headers */ parser = xmlCreatePushParserCtxt(&sax, static_cast(this), NULL, 0, NULL); - xmlSetFeature(parser, "substitute entities", 0); if (entity_doc == NULL) entity_doc = htmlNewDoc(NULL, NULL); diff -u -r -N squid-5.4.1/src/esi/Makefile.in squid-5.5/src/esi/Makefile.in --- squid-5.4.1/src/esi/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/esi/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -545,6 +545,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/esi/Module.cc squid-5.5/src/esi/Module.cc --- squid-5.4.1/src/esi/Module.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/esi/Module.cc 2022-04-13 17:26:01.000000000 +1200 @@ -22,8 +22,6 @@ void Esi::Init() { - // register in reverse order of preference. - // The latest registered parser will be used as default. #if HAVE_LIBEXPAT assert(!prExpat); // we should be called once prExpat = new ESIParser::Register("expat", &ESIExpatParser::NewParser); diff -u -r -N squid-5.4.1/src/esi/Parser.cc squid-5.5/src/esi/Parser.cc --- squid-5.4.1/src/esi/Parser.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/esi/Parser.cc 2022-04-13 17:26:01.000000000 +1200 @@ -9,6 +9,7 @@ /* DEBUG: section 86 ESI processing */ #include "squid.h" +#include "Debug.h" #include "esi/Parser.h" #include "fatal.h" @@ -25,19 +26,27 @@ ESIParser::Pointer ESIParser::NewParser(ESIParserClient *aClient) { - if (Parser == NULL) { - Parser = GetRegistry().front(); + if (!Parser) { + // if esi_parser is configured, use that + const char *selectParserName = Type; + if (!selectParserName || strcasecmp(selectParserName, "auto") == 0) { +#if HAVE_LIBXML2 + // libxml2 is the more secure. prefer when possible + selectParserName = "libxml2"; +#else + // expat is more widely available + selectParserName = "expat"; +#endif + } - // if type name matters, use it - if (strcasecmp(Type, "auto") != 0) { - for (auto *p : GetRegistry()) { - if (p && strcasecmp(p->name, Type) != 0) - Parser = p; - } + for (auto *p : GetRegistry()) { + if (p && strcasecmp(p->name, selectParserName) == 0) + Parser = p; } - if (Parser == NULL) - fatal ("Unknown ESI Parser type"); + if (!Parser) + fatalf("Unknown ESI Parser type '%s'", selectParserName); + debugs(86, 2, "selected ESI parser: " << Parser->name); } return (Parser->newParser)(aClient); diff -u -r -N squid-5.4.1/src/eui/Makefile.in squid-5.5/src/eui/Makefile.in --- squid-5.4.1/src/eui/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/eui/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -523,6 +523,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/format/Makefile.in squid-5.5/src/format/Makefile.in --- squid-5.4.1/src/format/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/format/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -522,6 +522,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/fs/Makefile.in squid-5.5/src/fs/Makefile.in --- squid-5.4.1/src/fs/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/fs/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -550,6 +550,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ftp/Makefile.in squid-5.5/src/ftp/Makefile.in --- squid-5.4.1/src/ftp/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/ftp/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -521,6 +521,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/FwdState.cc squid-5.5/src/FwdState.cc --- squid-5.4.1/src/FwdState.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/FwdState.cc 2022-04-13 17:26:01.000000000 +1200 @@ -149,6 +149,7 @@ clientConn(client), start_t(squid_curtime), n_tries(0), + waitingForDispatched(false), destinations(new ResolvedPeers()), pconnRace(raceImpossible), storedWholeReply_(nullptr) @@ -565,6 +566,9 @@ logReplyStatus(n_tries, replyStatus); + // will already be false if complete() was called before/without dispatch() + waitingForDispatched = false; + if (reforward()) { debugs(17, 3, "re-forwarding " << replyStatus << " " << entry->url()); @@ -590,10 +594,13 @@ } } +/// Whether a forwarding attempt to some selected destination X is in progress +/// (after successfully opening/reusing a transport connection to X). +/// See also: transportWait bool -FwdState::usingDestination() const +FwdState::transporting() const { - return encryptionWait || peerWait || Comm::IsConnOpen(serverConn); + return peerWait || encryptionWait || waitingForDispatched; } void @@ -625,18 +632,15 @@ destinations->addPath(path); - if (usingDestination()) { - // We are already using a previously opened connection, so we cannot be - // waiting for it. We still receive destinations for backup. - Must(!transportWait); - return; - } - if (transportWait) { + assert(!transporting()); notifyConnOpener(); return; // and continue to wait for FwdState::noteConnection() callback } + if (transporting()) + return; // and continue to receive destinations for backup + // This is the first path candidate we have seen. Use it. useDestinations(); } @@ -665,16 +669,13 @@ // if all of them fail, forwarding as whole will fail Must(!selectionError); // finding at least one path means selection succeeded - if (usingDestination()) { - // We are already using a previously opened connection, so we cannot be - // waiting for it. We were receiving destinations for backup. - Must(!transportWait); - return; + if (transportWait) { + assert(!transporting()); + notifyConnOpener(); + return; // and continue to wait for FwdState::noteConnection() callback } - Must(transportWait); // or we would be stuck with nothing to do or wait for - notifyConnOpener(); - // and continue to wait for FwdState::noteConnection() callback + Must(transporting()); // or we would be stuck with nothing to do or wait for } /// makes sure connection opener knows that the destinations have changed @@ -783,6 +784,10 @@ serverConn = nullptr; closeHandler = nullptr; destinationReceipt = nullptr; + + // will already be false if this closure happened before/without dispatch() + waitingForDispatched = false; + retryOrBail(); } @@ -826,6 +831,10 @@ assert(!Comm::IsConnOpen(serverConn)); serverConn = nullptr; destinationReceipt = nullptr; + + // might already be false due to uncertainties documented in serverClosed() + waitingForDispatched = false; + retryOrBail(); } @@ -1124,7 +1133,7 @@ Must(!request->pinnedConnection()); assert(!destinations->empty()); - assert(!usingDestination()); + assert(!transporting()); // Ditch error page if it was created before. // A new one will be created if there's another problem @@ -1200,6 +1209,9 @@ */ assert(Comm::IsConnOpen(serverConn)); + assert(!waitingForDispatched); + waitingForDispatched = true; + fd_note(serverConnection()->fd, entry->url()); fd_table[serverConnection()->fd].noteUse(); diff -u -r -N squid-5.4.1/src/FwdState.h squid-5.5/src/FwdState.h --- squid-5.4.1/src/FwdState.h 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/FwdState.h 2022-04-13 17:26:01.000000000 +1200 @@ -113,9 +113,8 @@ /* PeerSelectionInitiator API */ virtual void noteDestination(Comm::ConnectionPointer conn) override; virtual void noteDestinationsEnd(ErrorState *selectionError) override; - /// whether the successfully selected path destination or the established - /// server connection is still in use - bool usingDestination() const; + + bool transporting() const; void noteConnection(HappyConnOpenerAnswer &); @@ -197,6 +196,9 @@ /// over the (encrypted, if needed) transport connection to that cache_peer JobWait peerWait; + /// whether we are waiting for the last dispatch()ed activity to end + bool waitingForDispatched; + ResolvedPeersPointer destinations; ///< paths for forwarding the request Comm::ConnectionPointer serverConn; ///< a successfully opened connection to a server. PeerConnectionPointer destinationReceipt; ///< peer selection result (or nil) diff -u -r -N squid-5.4.1/src/helper/Makefile.in squid-5.5/src/helper/Makefile.in --- squid-5.4.1/src/helper/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/helper/Makefile.in 2022-04-13 20:30:29.000000000 +1200 @@ -522,6 +522,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/http/Makefile.in squid-5.5/src/http/Makefile.in --- squid-5.4.1/src/http/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/http/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -567,6 +567,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/http/one/Makefile.in squid-5.5/src/http/one/Makefile.in --- squid-5.4.1/src/http/one/Makefile.in 2022-02-12 17:06:02.000000000 +1300 +++ squid-5.5/src/http/one/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -524,6 +524,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/http/url_rewriters/fake/Makefile.in squid-5.5/src/http/url_rewriters/fake/Makefile.in --- squid-5.4.1/src/http/url_rewriters/fake/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/http/url_rewriters/fake/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -508,6 +508,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/http/url_rewriters/LFS/Makefile.in squid-5.5/src/http/url_rewriters/LFS/Makefile.in --- squid-5.4.1/src/http/url_rewriters/LFS/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/http/url_rewriters/LFS/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/http/url_rewriters/LFS/url_lfs_rewrite.8 squid-5.5/src/http/url_rewriters/LFS/url_lfs_rewrite.8 --- squid-5.4.1/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2022-02-12 17:11:12.000000000 +1300 +++ squid-5.5/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2022-04-13 20:38:00.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "URL_LFS_REWRITE 8" -.TH URL_LFS_REWRITE 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH URL_LFS_REWRITE 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/http/url_rewriters/Makefile.in squid-5.5/src/http/url_rewriters/Makefile.in --- squid-5.4.1/src/http/url_rewriters/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/http/url_rewriters/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -299,6 +299,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/icmp/Makefile.in squid-5.5/src/icmp/Makefile.in --- squid-5.4.1/src/icmp/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/icmp/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -559,6 +559,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ident/Makefile.in squid-5.5/src/ident/Makefile.in --- squid-5.4.1/src/ident/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/ident/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -521,6 +521,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ip/Makefile.in squid-5.5/src/ip/Makefile.in --- squid-5.4.1/src/ip/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/ip/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -524,6 +524,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ipc/Makefile.in squid-5.5/src/ipc/Makefile.in --- squid-5.4.1/src/ipc/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/ipc/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -541,6 +541,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ipc/Queue.cc squid-5.5/src/ipc/Queue.cc --- squid-5.4.1/src/ipc/Queue.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/ipc/Queue.cc 2022-04-13 17:26:01.000000000 +1200 @@ -44,7 +44,7 @@ InstanceIdDefinitions(Ipc::QueueReader, "ipcQR"); -Ipc::QueueReader::QueueReader(): popBlocked(true), popSignal(false), +Ipc::QueueReader::QueueReader(): popBlocked(false), popSignal(false), rateLimit(0), balance(0) { debugs(54, 7, HERE << "constructed " << id); @@ -139,15 +139,23 @@ void Ipc::BaseMultiQueue::clearReaderSignal(const int /*remoteProcessId*/) { + // Unused remoteProcessId may be useful for at least two optimizations: + // * TODO: After QueueReader::popSignal is moved to each OneToOneUniQueue, + // we could clear just the remoteProcessId popSignal, further reducing the + // number of UDS notifications writers have to send. + // * We could adjust theLastPopProcessId to try popping from the + // remoteProcessId queue first. That does not seem to help much and might + // introduce some bias, so we do not do that for now. + clearAllReaderSignals(); +} + +void +Ipc::BaseMultiQueue::clearAllReaderSignals() +{ QueueReader &reader = localReader(); debugs(54, 7, "reader: " << reader.id); reader.clearSignal(); - - // we got a hint; we could reposition iteration to try popping from the - // remoteProcessId queue first; but it does not seem to help much and might - // introduce some bias so we do not do that for now: - // theLastPopProcessId = remoteProcessId; } const Ipc::QueueReader::Balance & diff -u -r -N squid-5.4.1/src/ipc/Queue.h squid-5.5/src/ipc/Queue.h --- squid-5.4.1/src/ipc/Queue.h 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/ipc/Queue.h 2022-04-13 17:26:01.000000000 +1200 @@ -32,6 +32,9 @@ /// whether the reader is waiting for a notification signal bool blocked() const { return popBlocked.load(); } + /// \copydoc popSignal + bool signaled() const { return popSignal.load(); } + /// marks the reader as blocked, waiting for a notification signal void block() { popBlocked.store(true); } @@ -158,6 +161,9 @@ /// clears the reader notification received by the local process from the remote process void clearReaderSignal(const int remoteProcessId); + /// clears all reader notifications received by the local process + void clearAllReaderSignals(); + /// picks a process and calls OneToOneUniQueue::pop() using its queue template bool pop(int &remoteProcessId, Value &value); diff -u -r -N squid-5.4.1/src/log/DB/log_db_daemon.8 squid-5.5/src/log/DB/log_db_daemon.8 --- squid-5.4.1/src/log/DB/log_db_daemon.8 2022-02-12 17:11:13.000000000 +1300 +++ squid-5.5/src/log/DB/log_db_daemon.8 2022-04-13 20:38:00.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "LOG_DB_DAEMON 8" -.TH LOG_DB_DAEMON 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH LOG_DB_DAEMON 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/log/DB/Makefile.in squid-5.5/src/log/DB/Makefile.in --- squid-5.4.1/src/log/DB/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/log/DB/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/log/file/Makefile.in squid-5.5/src/log/file/Makefile.in --- squid-5.4.1/src/log/file/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/log/file/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -508,6 +508,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/log/Makefile.in squid-5.5/src/log/Makefile.in --- squid-5.4.1/src/log/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/log/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -575,6 +575,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/Makefile.in squid-5.5/src/Makefile.in --- squid-5.4.1/src/Makefile.in 2022-02-12 17:06:00.000000000 +1300 +++ squid-5.5/src/Makefile.in 2022-04-13 20:30:27.000000000 +1200 @@ -2742,6 +2742,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/mem/Makefile.in squid-5.5/src/mem/Makefile.in --- squid-5.4.1/src/mem/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/mem/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -524,6 +524,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/mgr/Makefile.in squid-5.5/src/mgr/Makefile.in --- squid-5.4.1/src/mgr/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/mgr/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -539,6 +539,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/parser/Makefile.in squid-5.5/src/parser/Makefile.in --- squid-5.4.1/src/parser/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/parser/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -522,6 +522,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/proxyp/Makefile.in squid-5.5/src/proxyp/Makefile.in --- squid-5.4.1/src/proxyp/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/proxyp/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -522,6 +522,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/repl/Makefile.in squid-5.5/src/repl/Makefile.in --- squid-5.4.1/src/repl/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/repl/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -534,6 +534,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/sbuf/Makefile.in squid-5.5/src/sbuf/Makefile.in --- squid-5.4.1/src/sbuf/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/sbuf/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -525,6 +525,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/cert_generators/file/Makefile.in squid-5.5/src/security/cert_generators/file/Makefile.in --- squid-5.4.1/src/security/cert_generators/file/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/security/cert_generators/file/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -535,6 +535,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/cert_generators/Makefile.in squid-5.5/src/security/cert_generators/Makefile.in --- squid-5.4.1/src/security/cert_generators/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/security/cert_generators/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -299,6 +299,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/cert_validators/fake/Makefile.in squid-5.5/src/security/cert_validators/fake/Makefile.in --- squid-5.4.1/src/security/cert_validators/fake/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/security/cert_validators/fake/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/cert_validators/fake/security_fake_certverify.8 squid-5.5/src/security/cert_validators/fake/security_fake_certverify.8 --- squid-5.4.1/src/security/cert_validators/fake/security_fake_certverify.8 2022-02-12 17:11:13.000000000 +1300 +++ squid-5.5/src/security/cert_validators/fake/security_fake_certverify.8 2022-04-13 20:38:01.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "SECURITY_FAKE_CERTVERIFY 8" -.TH SECURITY_FAKE_CERTVERIFY 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH SECURITY_FAKE_CERTVERIFY 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/security/cert_validators/Makefile.in squid-5.5/src/security/cert_validators/Makefile.in --- squid-5.4.1/src/security/cert_validators/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/security/cert_validators/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -299,6 +299,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/Makefile.in squid-5.5/src/security/Makefile.in --- squid-5.4.1/src/security/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/security/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -570,6 +570,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/security/ServerOptions.cc squid-5.5/src/security/ServerOptions.cc --- squid-5.4.1/src/security/ServerOptions.cc 2022-02-12 16:47:05.000000000 +1300 +++ squid-5.5/src/security/ServerOptions.cc 2022-04-13 17:26:01.000000000 +1200 @@ -410,6 +410,7 @@ updateContextClientCa(ctx); #if USE_OPENSSL + SSL_CTX_set_mode(ctx.get(), SSL_MODE_NO_AUTO_CHAIN); if (parsedFlags & SSL_FLAG_DONT_VERIFY_DOMAIN) SSL_CTX_set_ex_data(ctx.get(), ssl_ctx_ex_index_dont_verify_domain, (void *) -1); diff -u -r -N squid-5.4.1/src/servers/Makefile.in squid-5.5/src/servers/Makefile.in --- squid-5.4.1/src/servers/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/servers/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -522,6 +522,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/snmp/Makefile.in squid-5.5/src/snmp/Makefile.in --- squid-5.4.1/src/snmp/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/snmp/Makefile.in 2022-04-13 20:30:30.000000000 +1200 @@ -525,6 +525,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/ssl/Makefile.in squid-5.5/src/ssl/Makefile.in --- squid-5.4.1/src/ssl/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/ssl/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -534,6 +534,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/store/id_rewriters/file/Makefile.in squid-5.5/src/store/id_rewriters/file/Makefile.in --- squid-5.4.1/src/store/id_rewriters/file/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/store/id_rewriters/file/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/store/id_rewriters/file/storeid_file_rewrite.8 squid-5.5/src/store/id_rewriters/file/storeid_file_rewrite.8 --- squid-5.4.1/src/store/id_rewriters/file/storeid_file_rewrite.8 2022-02-12 17:11:11.000000000 +1300 +++ squid-5.5/src/store/id_rewriters/file/storeid_file_rewrite.8 2022-04-13 20:37:59.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "STOREID_FILE_REWRITE 8" -.TH STOREID_FILE_REWRITE 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH STOREID_FILE_REWRITE 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/src/store/id_rewriters/Makefile.in squid-5.5/src/store/id_rewriters/Makefile.in --- squid-5.4.1/src/store/id_rewriters/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/store/id_rewriters/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -299,6 +299,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/src/store/Makefile.in squid-5.5/src/store/Makefile.in --- squid-5.4.1/src/store/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/src/store/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -563,6 +563,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/test-suite/Makefile.in squid-5.5/test-suite/Makefile.in --- squid-5.4.1/test-suite/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/test-suite/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -608,6 +608,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/apparmor/Makefile.in squid-5.5/tools/apparmor/Makefile.in --- squid-5.4.1/tools/apparmor/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/tools/apparmor/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -242,6 +242,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/helper-mux/helper-mux.8 squid-5.5/tools/helper-mux/helper-mux.8 --- squid-5.4.1/tools/helper-mux/helper-mux.8 2022-02-12 17:11:13.000000000 +1300 +++ squid-5.5/tools/helper-mux/helper-mux.8 2022-04-13 20:38:01.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "HELPER-MUX 8" -.TH HELPER-MUX 8 "2022-02-12" "perl v5.34.0" "User Contributed Perl Documentation" +.TH HELPER-MUX 8 "2022-04-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-5.4.1/tools/helper-mux/Makefile.in squid-5.5/tools/helper-mux/Makefile.in --- squid-5.4.1/tools/helper-mux/Makefile.in 2022-02-12 17:06:04.000000000 +1300 +++ squid-5.5/tools/helper-mux/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -461,6 +461,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/Makefile.in squid-5.5/tools/Makefile.in --- squid-5.4.1/tools/Makefile.in 2022-02-12 17:06:03.000000000 +1300 +++ squid-5.5/tools/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -601,6 +601,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/purge/Makefile.in squid-5.5/tools/purge/Makefile.in --- squid-5.4.1/tools/purge/Makefile.in 2022-02-12 17:06:04.000000000 +1300 +++ squid-5.5/tools/purge/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -533,6 +533,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/squidclient/Makefile.in squid-5.5/tools/squidclient/Makefile.in --- squid-5.4.1/tools/squidclient/Makefile.in 2022-02-12 17:06:04.000000000 +1300 +++ squid-5.5/tools/squidclient/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -586,6 +586,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/systemd/Makefile.in squid-5.5/tools/systemd/Makefile.in --- squid-5.4.1/tools/systemd/Makefile.in 2022-02-12 17:06:04.000000000 +1300 +++ squid-5.5/tools/systemd/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -242,6 +242,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@ diff -u -r -N squid-5.4.1/tools/sysvinit/Makefile.in squid-5.5/tools/sysvinit/Makefile.in --- squid-5.4.1/tools/sysvinit/Makefile.in 2022-02-12 17:06:04.000000000 +1300 +++ squid-5.5/tools/sysvinit/Makefile.in 2022-04-13 20:30:31.000000000 +1200 @@ -242,6 +242,7 @@ EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@ FALSE = @FALSE@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX11 = @HAVE_CXX11@ INCLTDL = @INCLTDL@