From 46af462e7531b5d5f89439e9d812cb2472849220 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 16:16:12 +0200 Subject: [PATCH 001/353] Bump major version to 3.0. Reset SO version to 0. --- configure.ac | 6 +++--- cygport/log4cplus.cygport | 12 ++++++------ docs/doxygen.config | 4 ++-- docs/webpage_doxygen.config | 4 ++-- include/log4cplus/version.h | 4 ++-- log4cplus.spec | 2 +- mingw-log4cplus.spec | 4 ++-- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/configure.ac b/configure.ac index 232008d20..1f3ae2566 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl autoconf-2.69 dnl automake-1.16.1 dnl libtool-2.4.6 -AC_INIT([log4cplus],[2.0.2]) +AC_INIT([log4cplus],[3.0.0]) AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([src/logger.cxx]) AC_CONFIG_MACRO_DIR([m4]) @@ -20,8 +20,8 @@ AM_PROG_AR # ? :+1 : ? == just some internal changes, nothing breaks but might work # better # CURRENT : REVISION : AGE -LT_VERSION=6:3:3 -LT_RELEASE=2.0 +LT_VERSION=0:0:0 +LT_RELEASE=3.0 AC_SUBST([LT_VERSION]) AC_SUBST([LT_RELEASE]) diff --git a/cygport/log4cplus.cygport b/cygport/log4cplus.cygport index eb1da8800..90b8e2c97 100644 --- a/cygport/log4cplus.cygport +++ b/cygport/log4cplus.cygport @@ -1,5 +1,5 @@ NAME=log4cplus -VERSION=2.0.2-rc1 +VERSION=3.0.0-rc1 RELEASE=1 CATEGORY="Libs" SUMMARY="C++ logging library" @@ -11,12 +11,12 @@ SRC_URI="mirror://sourceforge/log4cplus/log4cplus-stable/${PV%-rc*}/${P}.tar.xz" PATCH_URI="configure.ac.patch" -PKG_NAMES="lib${PN}2.0_3 lib${PN}qt4debugappender2.0_3 +PKG_NAMES="lib${PN}3.0_0 lib${PN}qt4debugappender3.0_0 lib${PN}-devel lib${PN}qt4debugappender-devel" -liblog4cplus2_0_3_SUMMARY="${SUMMARY} (runtime)" -liblog4cplus2_0_3_CONTENTS="usr/bin/cyglog4cplus-2-0-3.dll" -liblog4cplusqt4debugappender2_0_3_SUMMARY="${SUMMARY} (Qt4 runtime)" -liblog4cplusqt4debugappender2_0_3_CONTENTS="usr/bin/cyglog4cplusqt4*-2-0-3.dll" +liblog4cplus3_0_0_SUMMARY="${SUMMARY} (runtime)" +liblog4cplus3_0_0_CONTENTS="usr/bin/cyglog4cplus-3-0-0.dll" +liblog4cplusqt4debugappender3_0_0_SUMMARY="${SUMMARY} (Qt4 runtime)" +liblog4cplusqt4debugappender3_0_0_CONTENTS="usr/bin/cyglog4cplusqt4*-3-0-0.dll" liblog4cplus_devel_SUMMARY="${SUMMARY} (development)" liblog4cplus_devel_CONTENTS="--exclude=*qt4* usr/include/ usr/lib/ usr/share/doc/" liblog4cplusqt4debugappender_devel_SUMMARY="${SUMMARY} (Qt4 development)" diff --git a/docs/doxygen.config b/docs/doxygen.config index 7f3c42ec7..7ea9c4dc4 100644 --- a/docs/doxygen.config +++ b/docs/doxygen.config @@ -38,7 +38,7 @@ PROJECT_NAME = log4cplus # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.0.2 +PROJECT_NUMBER = 3.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -58,7 +58,7 @@ PROJECT_LOGO = log4cplus.svg # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = log4cplus-2.0.2/docs +OUTPUT_DIRECTORY = log4cplus-3.0.0/docs # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and diff --git a/docs/webpage_doxygen.config b/docs/webpage_doxygen.config index b4f4d31a1..5a390a72b 100644 --- a/docs/webpage_doxygen.config +++ b/docs/webpage_doxygen.config @@ -38,7 +38,7 @@ PROJECT_NAME = log4cplus # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.0.2 +PROJECT_NUMBER = 3.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = webpage_docs-2.0.2 +OUTPUT_DIRECTORY = webpage_docs-3.0.0 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and diff --git a/include/log4cplus/version.h b/include/log4cplus/version.h index 4afd0c20d..79d4f0768 100644 --- a/include/log4cplus/version.h +++ b/include/log4cplus/version.h @@ -41,10 +41,10 @@ //! This is log4cplus version number as unsigned integer. This must //! be kept on a single line. It is used by Autotool and CMake build //! systems to parse version number. -#define LOG4CPLUS_VERSION LOG4CPLUS_MAKE_VERSION(2, 0, 2) +#define LOG4CPLUS_VERSION LOG4CPLUS_MAKE_VERSION(3, 0, 0) //! This is log4cplus version number as a string. -#define LOG4CPLUS_VERSION_STR LOG4CPLUS_MAKE_VERSION_STR(2, 0, 2) +#define LOG4CPLUS_VERSION_STR LOG4CPLUS_MAKE_VERSION_STR(3, 0, 0) namespace log4cplus diff --git a/log4cplus.spec b/log4cplus.spec index df5b4520c..28c58f2b8 100644 --- a/log4cplus.spec +++ b/log4cplus.spec @@ -1,5 +1,5 @@ Name: log4cplus -Version: 2.0.2 +Version: 3.0.0 Release: 1 Summary: log4cplus, C++ logging library diff --git a/mingw-log4cplus.spec b/mingw-log4cplus.spec index bca94f678..9155e4a3e 100755 --- a/mingw-log4cplus.spec +++ b/mingw-log4cplus.spec @@ -1,12 +1,12 @@ Name: log4cplus -Version: 2.0.2 +Version: 3.0.0 Release: 1%{?dist} Summary: log4cplus, C++ logging library License: Apache Group: Development/Libraries URL: http://log4cplus.sourceforge.net/ -Source0: http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/2.0.2/log4cplus-2.0.2.tar.gz +Source0: http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/3.0.0/log4cplus-3.0.0.tar.gz BuildArch: noarch From f8ed677cdc671c2c5f48117e115e9f92d5e5b63f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 16:21:10 +0200 Subject: [PATCH 002/353] ChangeLog: Mention C++17 as implementation language. --- ChangeLog | 94 ++----------------------------------------------------- 1 file changed, 3 insertions(+), 91 deletions(-) diff --git a/ChangeLog b/ChangeLog index e0a7fc0e7..7ffea4ca9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,92 +1,4 @@ -# log4cplus 2.0.3 +# log4cplus 3.0.0 - - Fix compilation on systems without `O_CLOEXEC`. This affects, e.g., - Solaris 10. GitHub issue #326. (Patch by Jiangrz). - - -# log4cplus 2.0.2 - - - Allow setting thread pool size using new function - `setThreadPoolSize()`. Allow setting the size from `log4cplus.properties` - using `log4cplus.threadPoolSize` property. Lower initial thread pool size - by half to `std::thread::hardware_concurrency()` threads. GitHub issue - #315. - - - Fix Autotools based build for MinGW. GitHub issue #317. - - - Add `configure` script option `--enable-lto` to allow easier LTO builds. - - - Optimization of `getFormattedTime()`. (Alexey Vishtak) - - - Introduction of `LOG4CPLUS_MACRO_FILE()` used in logging macros to allow - users to redefine it and consequently hide source file names from their - compiled executables and logging output. - - -# log4cplus 2.0.1 - - - Update to Automake 1.16.1. - - - Adjust `spi::LoggerFactory` to allow custom `spi::LoggerImpl`. GitHub - issue #309. - - - Fix MacOS X compilation. GitHub issue #312. - - -# log4cplus 2.0 - - - CMake improvements: Automate export of includes if building as Cmake - sub-module. (Rodion Malinovsky) - - - Debian spec file improvements: Use parallel build. Fix installation path - on 64bit. (Michal Marek) - - - CMake improvements: Use `${CMAKE_INSTALL_LIBDIR}` instead of hardcoding - lib. (Radek Dostál) - - - Experimental Windows 10 ARM support through CMAKE - - -# log4cplus 2.0-RC2 - - - Avoid copying whole message just to prepend message length in - `SocketAppender`. Instead, use OS specific "gather" socket write. - - - Fixed GitHub issue #136. - - - `FileAppender` classes now have `TextMode` property that can be set to - `Binary` or `Text` (default) to specify underlying IO stream behavior - with respect to end-of-line handling. (Patch by raphaelmarcucci). - - - Fixed compilation issues when building log4cplus with Visual Studio and - Clang toolchain. - - - Fixed various shutdown and initialization related deadlocks and - crashes. GitHub issues #251, #253. - - - Fixed GitHub issue #243. Single-threaded build with Visual Studio and - CMake were not single-threaded. - - - Fixed GitHub issue #250. Creating WiX based installer using CPack does - not work because of missing license file. - - -# log4cplus 2.0-RC1 - - - **IMPORTANT**: Implementation language is now C++11. OS specific - implementations have been replaced by C++11 facilities wherever - possible. This lowers complexity of the library and improves - maintainability but it also brings limitations to when the library can be - used. Specifically, the library should not be used before `main()` is - entered and after `main()` is left. Even more specifically, the library - should not be used during global objects construction and destruction. - - - log4cplus uses Catch unit testing framework and has unit tests. - - - log4cplus supports IPv6. - - - Autotools based build system is now partially generated from templates by - the Autogen tool. - - - Autotools based build system can build both `wchar_t` and plain `char` - variants at once. + - **IMPORTANT**: Implementation language is now C++17. + From 0255f7b022e928b7ac964fa412703f7dddda4055 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 16:49:32 +0200 Subject: [PATCH 003/353] Regenerate configure script. --- configure | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/configure b/configure index aad1f3482..46f2e4652 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for log4cplus 2.0.2. +# Generated by GNU Autoconf 2.69 for log4cplus 3.0.0. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='log4cplus' PACKAGE_TARNAME='log4cplus' -PACKAGE_VERSION='2.0.2' -PACKAGE_STRING='log4cplus 2.0.2' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='log4cplus 3.0.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1413,7 +1413,7 @@ if test "$ac_init_help" = "long"; then # 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 log4cplus 2.0.2 to adapt to many kinds of systems. +\`configure' configures log4cplus 3.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1484,7 +1484,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of log4cplus 2.0.2:";; + short | recursive ) echo "Configuration of log4cplus 3.0.0:";; esac cat <<\_ACEOF @@ -1641,7 +1641,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -log4cplus configure 2.0.2 +log4cplus configure 3.0.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2188,7 +2188,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by log4cplus $as_me 2.0.2, which was +It was created by log4cplus $as_me 3.0.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3163,7 +3163,7 @@ fi # Define the identity of the package. PACKAGE='log4cplus' - VERSION='2.0.2' + VERSION='3.0.0' # Some tools Automake needs. @@ -4491,8 +4491,8 @@ esac # ? :+1 : ? == just some internal changes, nothing breaks but might work # better # CURRENT : REVISION : AGE -LT_VERSION=6:3:3 -LT_RELEASE=2.0 +LT_VERSION=0:0:0 +LT_RELEASE=3.0 @@ -24066,7 +24066,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by log4cplus $as_me 2.0.2, which was +This file was extended by log4cplus $as_me 3.0.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -24132,7 +24132,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -log4cplus config.status 2.0.2 +log4cplus config.status 3.0.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" From 9463e8e58abd0510541476b329c2a983230a2f3e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 17:03:21 +0200 Subject: [PATCH 004/353] Switch Automake build system to C++17. --- Makefile.in | 13 +- acinclude.m4 | 2 +- aclocal.m4 | 1 + configure | 1728 +++++++++++++++++++++++++++++--- configure.ac | 2 +- include/Makefile.in | 13 +- m4/ax_cxx_compile_stdcxx.m4 | 948 ++++++++++++++++++ m4/ax_cxx_compile_stdcxx_11.m4 | 142 --- m4/ax_cxx_compile_stdcxx_17.m4 | 35 + 9 files changed, 2604 insertions(+), 280 deletions(-) create mode 100644 m4/ax_cxx_compile_stdcxx.m4 delete mode 100644 m4/ax_cxx_compile_stdcxx_11.m4 create mode 100644 m4/ax_cxx_compile_stdcxx_17.m4 diff --git a/Makefile.in b/Makefile.in index e6457caab..112c2ce28 100644 --- a/Makefile.in +++ b/Makefile.in @@ -136,10 +136,11 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_29 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ @@ -156,7 +157,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/ax_pkg_swig.m4 \ $(top_srcdir)/m4/ax_python_devel.m4 \ $(top_srcdir)/m4/ax_swig_multi_module_support.m4 \ - $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx_17.m4 \ $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ $(top_srcdir)/m4/ax_gcc_var_attribute.m4 \ $(top_srcdir)/tests/configure.m4 $(top_srcdir)/configure.ac @@ -1062,7 +1063,7 @@ ENABLE_THREADS = @ENABLE_THREADS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ -HAVE_CXX11 = @HAVE_CXX11@ +HAVE_CXX17 = @HAVE_CXX17@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/acinclude.m4 b/acinclude.m4 index 5296ca562..94cd1e358 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -17,6 +17,6 @@ m4_include([m4/pkg.m4]) m4_include([m4/ax_pkg_swig.m4]) m4_include([m4/ax_python_devel.m4]) m4_include([m4/ax_swig_multi_module_support.m4]) -m4_include([m4/ax_cxx_compile_stdcxx_11.m4]) +m4_include([m4/ax_cxx_compile_stdcxx_17.m4]) m4_include([m4/ax_gcc_func_attribute.m4]) m4_include([m4/ax_gcc_var_attribute.m4]) diff --git a/aclocal.m4 b/aclocal.m4 index 9ece8bd75..d121488ac 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1467,6 +1467,7 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/ax_cxx_compile_stdcxx.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) diff --git a/configure b/configure index 46f2e4652..88b40d1d8 100755 --- a/configure +++ b/configure @@ -702,7 +702,7 @@ USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_TRUE LOG4CPLUS_AIX_XLC_LDFLAGS GREP SED -HAVE_CXX11 +HAVE_CXX17 CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE @@ -5222,155 +5222,1630 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ax_cxx_compile_cxx11_required=true + ax_cxx_compile_alternatives="17 1z" ax_cxx_compile_cxx17_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_success=no - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5 -$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; } -if ${ax_cv_cxx_compile_cxx11+:} false; then : + + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_CXX="$CXX" + CXX="$CXX $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + + + + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + + + + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L + + + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval $cachevar=yes +else + eval $cachevar=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXX="$ac_save_CXX" +fi +eval ac_res=\$$cachevar + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi + + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXX="$CXX" + CXX="$CXX $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - template - struct check + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + + + + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); - }; + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { - struct Base { - virtual void f() {} + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; }; - struct Child : public Base { - virtual void f() override {} + + template < typename T > + struct is_same + { + static constexpr auto value = true; }; - typedef check> right_angle_brackets; + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } - int a; - decltype(a) b; + } - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); +} // namespace cxx14 - auto d = a; - auto l = [](){}; +#endif // __cplusplus >= 201402L -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ax_cv_cxx_compile_cxx11=yes -else - ax_cv_cxx_compile_cxx11=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5 -$as_echo "$ax_cv_cxx_compile_cxx11" >&6; } - if test x$ax_cv_cxx_compile_cxx11 = xyes; then - ac_success=yes - fi - if test x$ac_success = xno; then - for switch in -std=gnu++11 -std=gnu++0x; do - cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 -$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } -if eval \${$cachevar+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - template - struct check + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; }; - struct Base { - virtual void f() {} + struct base2 + { + base2() { + b3 = 42; + } + int b3; }; - struct Child : public Base { - virtual void f() override {} + + struct derived : base1, base2 + { + int d; }; - typedef check> right_angle_brackets; + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases - int a; - decltype(a) b; + } - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); + namespace test_general_range_based_for_loop + { - auto d = a; - auto l = [](){}; + struct iter + { + int i; -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - eval $cachevar=yes -else - eval $cachevar=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$ac_save_CXXFLAGS" -fi -eval ac_res=\$$cachevar - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes - break - fi - done - fi + int& operator* () + { + return i; + } - if test x$ac_success = xno; then - for switch in -std=c++11 -std=c++0x; do - cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 -$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } -if eval \${$cachevar+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + const int& operator* () const + { + return i; + } - template - struct check + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } }; - struct Base { - virtual void f() {} + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; }; - struct Child : public Base { - virtual void f() override {} + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; }; - typedef check> right_angle_brackets; + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 - int a; - decltype(a) b; +#endif // __cplusplus < 201703L - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); - auto d = a; - auto l = [](){}; _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : @@ -5379,14 +6854,21 @@ else eval $cachevar=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$ac_save_CXXFLAGS" + CXX="$ac_save_CXX" fi eval ac_res=\$$cachevar { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then break fi done @@ -5397,26 +6879,24 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test x$ax_cxx_compile_cxx11_required = xtrue; then + if test x$ax_cxx_compile_cxx17_required = xtrue; then if test x$ac_success = xno; then - as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5 + as_fn_error $? "*** A compiler with support for C++17 language features is required." "$LINENO" 5 fi + fi + if test x$ac_success = xno; then + HAVE_CXX17=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 +$as_echo "$as_me: No compiler with C++17 support was found" >&6;} else - if test x$ac_success = xno; then - HAVE_CXX11=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 -$as_echo "$as_me: No compiler with C++11 support was found" >&6;} - else - HAVE_CXX11=1 - -$as_echo "#define HAVE_CXX11 1" >>confdefs.h - - fi + HAVE_CXX17=1 +$as_echo "#define HAVE_CXX17 1" >>confdefs.h fi + as_fn_append CPPFLAGS " -D_GNU_SOURCE=1" case "$target_os" in #( diff --git a/configure.ac b/configure.ac index 1f3ae2566..e6912e9e6 100644 --- a/configure.ac +++ b/configure.ac @@ -150,7 +150,7 @@ AC_PROG_CXX AC_PROG_CXXCPP AC_LANG([C++]) -AX_CXX_COMPILE_STDCXX_11 +AX_CXX_COMPILE_STDCXX_17 AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE=1"]) diff --git a/include/Makefile.in b/include/Makefile.in index d6bcf2cc3..975ea5955 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -91,10 +91,11 @@ host_triplet = @host@ target_triplet = @target@ subdir = include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ @@ -111,7 +112,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/ax_pkg_swig.m4 \ $(top_srcdir)/m4/ax_python_devel.m4 \ $(top_srcdir)/m4/ax_swig_multi_module_support.m4 \ - $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx_17.m4 \ $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ $(top_srcdir)/m4/ax_gcc_var_attribute.m4 \ $(top_srcdir)/tests/configure.m4 $(top_srcdir)/configure.ac @@ -224,7 +225,7 @@ ENABLE_THREADS = @ENABLE_THREADS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ -HAVE_CXX11 = @HAVE_CXX11@ +HAVE_CXX17 = @HAVE_CXX17@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 new file mode 100644 index 000000000..9e9eaedaa --- /dev/null +++ b/m4/ax_cxx_compile_stdcxx.m4 @@ -0,0 +1,948 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) +# or '14' (for the C++14 standard). +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016, 2018 Krzesimir Nowak +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], + [$1], [14], [ax_cxx_compile_alternatives="14 1y"], + [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 +) + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) + + +dnl Tests for new features in C++17 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L + +]]) diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4 deleted file mode 100644 index 163a4c646..000000000 --- a/m4/ax_cxx_compile_stdcxx_11.m4 +++ /dev/null @@ -1,142 +0,0 @@ -# ============================================================================ -# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html -# ============================================================================ -# -# SYNOPSIS -# -# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional]) -# -# DESCRIPTION -# -# Check for baseline language coverage in the compiler for the C++11 -# standard; if necessary, add switches to CXXFLAGS to enable support. -# -# The first argument, if specified, indicates whether you insist on an -# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -# -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. -# -# The second argument, if specified 'mandatory' or if left unspecified, -# indicates that baseline C++11 support is required and that the macro -# should error out if no mode with that support is found. If specified -# 'optional', then configuration proceeds regardless, after defining -# HAVE_CXX11 if and only if a supporting mode is found. -# -# LICENSE -# -# Copyright (c) 2008 Benjamin Kosnik -# Copyright (c) 2012 Zack Weinberg -# Copyright (c) 2013 Roy Stogner -# Copyright (c) 2014 Alexey Sokolov -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 4 - -m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[ - template - struct check - { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); - }; - - struct Base { - virtual void f() {} - }; - struct Child : public Base { - virtual void f() override {} - }; - - typedef check> right_angle_brackets; - - int a; - decltype(a) b; - - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); - - auto d = a; - auto l = [](){}; -]]) - -AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl - m4_if([$1], [], [], - [$1], [ext], [], - [$1], [noext], [], - [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl - m4_if([$2], [], [ax_cxx_compile_cxx11_required=true], - [$2], [mandatory], [ax_cxx_compile_cxx11_required=true], - [$2], [optional], [ax_cxx_compile_cxx11_required=false], - [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])]) - AC_LANG_PUSH([C++])dnl - ac_success=no - AC_CACHE_CHECK(whether $CXX supports C++11 features by default, - ax_cv_cxx_compile_cxx11, - [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [ax_cv_cxx_compile_cxx11=yes], - [ax_cv_cxx_compile_cxx11=no])]) - if test x$ax_cv_cxx_compile_cxx11 = xyes; then - ac_success=yes - fi - - m4_if([$1], [noext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=gnu++11 -std=gnu++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes - break - fi - done - fi]) - - m4_if([$1], [ext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=c++11 -std=c++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes - break - fi - done - fi]) - AC_LANG_POP([C++]) - if test x$ax_cxx_compile_cxx11_required = xtrue; then - if test x$ac_success = xno; then - AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.]) - fi - else - if test x$ac_success = xno; then - HAVE_CXX11=0 - AC_MSG_NOTICE([No compiler with C++11 support was found]) - else - HAVE_CXX11=1 - AC_DEFINE(HAVE_CXX11,1, - [define if the compiler supports basic C++11 syntax]) - fi - - AC_SUBST(HAVE_CXX11) - fi -]) diff --git a/m4/ax_cxx_compile_stdcxx_17.m4 b/m4/ax_cxx_compile_stdcxx_17.m4 new file mode 100644 index 000000000..a68341717 --- /dev/null +++ b/m4/ax_cxx_compile_stdcxx_17.m4 @@ -0,0 +1,35 @@ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_17.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_17([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++17 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++17. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016 Krzesimir Nowak +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_17], [AX_CXX_COMPILE_STDCXX([17], [$1], [$2])]) From ab65c9598e3ec5d2eb9a221e4f3dd01a29725860 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 17:48:07 +0200 Subject: [PATCH 005/353] Use `[[fallthrough]]`. --- src/fileappender.cxx | 6 +++--- src/stringhelper-iconv.cxx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 1fdf2d029..7b6f3ce28 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -931,7 +931,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("calculateNextRolloverTime()-") LOG4CPLUS_TEXT (" unhandled or invalid schedule value")); - // Fall through. + [[fallthrough]]; case DAILY: { @@ -1052,7 +1052,7 @@ DailyRollingFileAppender::getFilename(const Time& t) const helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("DailyRollingFileAppender::getFilename()-") LOG4CPLUS_TEXT (" invalid schedule value")); - // Fall through. + [[fallthrough]]; case DAILY: pattern = LOG4CPLUS_TEXT("%Y-%m-%d"); @@ -1455,7 +1455,7 @@ TimeBasedRollingFileAppender::getRolloverPeriodDuration() const helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("TimeBasedRollingFileAppender::getRolloverPeriodDuration()-") LOG4CPLUS_TEXT (" invalid schedule value")); - // Fall through. + [[fallthrough]]; case DAILY: return std::chrono::hours{24}; case HOURLY: diff --git a/src/stringhelper-iconv.cxx b/src/stringhelper-iconv.cxx index aaec10e45..472e24b0a 100644 --- a/src/stringhelper-iconv.cxx +++ b/src/stringhelper-iconv.cxx @@ -205,10 +205,10 @@ iconv_conv (std::basic_string & result, char const * destenc, continue; } - // Fall through. - + [[fallthrough]]; + case E2BIG:; - // Fall through. + [[fallthrough]]; } std::size_t const outbuf_index = result_size; From c3129c08d1da66667c92cf459486624b6d3277aa Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 17:48:44 +0200 Subject: [PATCH 006/353] Introduce `string_view` to string conversion functions. --- include/log4cplus/tstring.h | 30 ++++++++++++++++++++++++++++-- src/stringhelper-clocale.cxx | 34 ++++++++++++++++++++++++++-------- src/stringhelper-cxxlocale.cxx | 34 ++++++++++++++++++++++++++-------- src/stringhelper-iconv.cxx | 24 +++++++++++++++++++++--- src/stringhelper.cxx | 18 ++++++++++++++++++ 5 files changed, 119 insertions(+), 21 deletions(-) diff --git a/include/log4cplus/tstring.h b/include/log4cplus/tstring.h index 7526568d1..6eb7ee7b7 100644 --- a/include/log4cplus/tstring.h +++ b/include/log4cplus/tstring.h @@ -30,14 +30,16 @@ #pragma once #endif +#include #include +#include #include namespace log4cplus { -typedef std::basic_string tstring; - +using tstring = std::basic_string; +using tstring_view = std::basic_string_view; namespace helpers { @@ -49,6 +51,17 @@ tostring (char const * str) return std::string (str); } +template +inline +std::enable_if_t< + std::is_convertible_v + && std::is_convertible_v, + std::string> +tostring (SV const & sv) +{ + return std::string (sv); +} + inline std::string tostring (std::string const & str) @@ -78,6 +91,17 @@ towstring (wchar_t const * str) return std::wstring (str); } +template +inline +std::enable_if_t< + std::is_convertible_v + && std::is_convertible_v, + std::wstring> +towstring (SV const & sv) +{ + return std::wstring (sv); +} + inline std::wstring towstring (std::wstring const & str) @@ -101,9 +125,11 @@ towstring (std::wstring && str) LOG4CPLUS_EXPORT std::string tostring(const std::wstring&); +LOG4CPLUS_EXPORT std::string tostring(const std::wstring_view&); LOG4CPLUS_EXPORT std::string tostring(wchar_t const *); LOG4CPLUS_EXPORT std::wstring towstring(const std::string&); +LOG4CPLUS_EXPORT std::wstring towstring(const std::string_view&); LOG4CPLUS_EXPORT std::wstring towstring(char const *); } // namespace helpers diff --git a/src/stringhelper-clocale.cxx b/src/stringhelper-clocale.cxx index 55cbec64e..a0d273195 100644 --- a/src/stringhelper-clocale.cxx +++ b/src/stringhelper-clocale.cxx @@ -1,15 +1,15 @@ // Copyright (C) 2010-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -76,7 +76,16 @@ tostring_internal (std::string & result, wchar_t const * src, std::size_t size) } -std::string +std::string +tostring(const std::wstring_view & src) +{ + std::string ret; + tostring_internal (ret, src.data (), src.size ()); + return ret; +} + + +std::string tostring (const std::wstring & src) { std::string ret; @@ -85,7 +94,7 @@ tostring (const std::wstring & src) } -std::string +std::string tostring (wchar_t const * src) { assert (src); @@ -128,7 +137,16 @@ towstring_internal (std::wstring & result, char const * src, std::size_t size) } -std::wstring +std::wstring +towstring(const std::string_view & src) +{ + std::wstring ret; + towstring_internal (ret, src.data (), src.size ()); + return ret; +} + + +std::wstring towstring (const std::string& src) { std::wstring ret; @@ -137,7 +155,7 @@ towstring (const std::string& src) } -std::wstring +std::wstring towstring (char const * src) { assert (src); diff --git a/src/stringhelper-cxxlocale.cxx b/src/stringhelper-cxxlocale.cxx index ffa35a774..7b2fa6b5d 100644 --- a/src/stringhelper-cxxlocale.cxx +++ b/src/stringhelper-cxxlocale.cxx @@ -1,15 +1,15 @@ // Copyright (C) 2010-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -117,7 +117,16 @@ towstring_internal (std::wstring & outstr, const char * src, std::size_t size, } -std::wstring +std::wstring +towstring(const std::string_view & src) +{ + std::wstring ret; + towstring_internal (ret, src.data (), src.size (), std::locale ()); + return ret; +} + + +std::wstring towstring(const std::string& src) { std::wstring ret; @@ -126,7 +135,7 @@ towstring(const std::string& src) } -std::wstring +std::wstring towstring(char const * src) { std::wstring ret; @@ -205,7 +214,16 @@ tostring_internal (std::string & outstr, const wchar_t * src, std::size_t size, } -std::string +std::string +tostring(const std::wstring_view & src) +{ + std::string ret; + tostring_internal (ret, src.data (), src.size (), std::locale ()); + return ret; +} + + +std::string tostring(const std::wstring& src) { std::string ret; @@ -214,7 +232,7 @@ tostring(const std::wstring& src) } -std::string +std::string tostring(wchar_t const * src) { std::string ret; diff --git a/src/stringhelper-iconv.cxx b/src/stringhelper-iconv.cxx index 472e24b0a..59a20ef1f 100644 --- a/src/stringhelper-iconv.cxx +++ b/src/stringhelper-iconv.cxx @@ -45,12 +45,12 @@ extern "C" //! SUSv3 iconv() type. typedef size_t (& iconv_func_type_1) (iconv_t cd, char * * inbuf, - size_t * inbytesleft, char * * outbuf, size_t * outbytesleft); + size_t * inbytesleft, char * * outbuf, size_t * outbytesleft); //! GNU iconv() type. typedef size_t (& iconv_func_type_2) (iconv_t cd, const char * * inbuf, - size_t * inbytesleft, char * * outbuf, size_t * outbytesleft); + size_t * inbytesleft, char * * outbuf, size_t * outbytesleft); } // extern "C" @@ -201,7 +201,7 @@ iconv_conv (std::basic_string & result, char const * destenc, *outbuf = question_mark::value; ++outbuf; outbytesleft -= sizeof (outbuf_type); - + continue; } @@ -226,6 +226,15 @@ iconv_conv (std::basic_string & result, char const * destenc, } // namespace +std::string +tostring (const std::wstring_view & src) +{ + std::string ret; + iconv_conv (ret, "UTF-8", src.data (), src.size (), "WCHAR_T"); + return ret; +} + + std::string tostring (const std::wstring & src) { @@ -245,6 +254,15 @@ tostring (wchar_t const * src) } +std::wstring +towstring (const std::string_view& src) +{ + std::wstring ret; + iconv_conv (ret, "WCHAR_T", src.data (), src.size (), "UTF-8"); + return ret; +} + + std::wstring towstring (const std::string& src) { diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 5125ed661..0e6529620 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -101,6 +101,15 @@ tostring_internal (std::string & ret, wchar_t const * src, std::size_t size) } +std::string +tostring(const std::wstring_view & src) +{ + std::string ret; + tostring_internal (ret, src.data (), src.size ()); + return ret; +} + + std::string tostring(const std::wstring& src) { @@ -136,6 +145,15 @@ towstring_internal (std::wstring & ret, char const * src, std::size_t size) } +std::wstring +towstring(const std::string_view & src) +{ + std::wstring ret; + towstring_internal (ret, src.data (), src.size ()); + return ret; +} + + std::wstring towstring(const std::string& src) { From 626cbcfb11f0bcc5b6f8a844a40928c36f022f9d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 19:26:40 +0200 Subject: [PATCH 007/353] Use `string_view` when preprocessing time patterns for file appenders. --- src/fileappender.cxx | 50 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 7b6f3ce28..98912d4c7 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -44,6 +44,10 @@ #include #endif +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include +#endif + namespace log4cplus { @@ -1085,7 +1089,7 @@ DailyRollingFileAppender::getFilename(const Time& t) const /////////////////////////////////////////////////////////////////////////////// static tstring -preprocessDateTimePattern(const tstring& pattern, DailyRollingFileSchedule& schedule) +preprocessDateTimePattern(const tstring_view& pattern, DailyRollingFileSchedule& schedule) { // Example: "yyyy-MM-dd HH:mm:ss,aux" // Patterns from java.text.SimpleDateFormat not implemented here: Y, F, k, K, S, X @@ -1095,11 +1099,11 @@ preprocessDateTimePattern(const tstring& pattern, DailyRollingFileSchedule& sche bool auxilary = (pattern.find(LOG4CPLUS_TEXT(",aux")) == pattern.length()-4); bool has_week = false, has_day = false, has_hour = false, has_minute = false; - for (size_t i = 0; i < pattern.length(); ) + for (size_t i = 0, pattern_length = pattern.length(); i < pattern_length; ) { tchar c = pattern[i]; size_t end_pos = pattern.find_first_not_of(c, i); - size_t len = (end_pos == tstring::npos ? pattern.length() : end_pos) - i; + size_t len = (end_pos == tstring::npos ? pattern_length : end_pos) - i; switch (c) { @@ -1215,19 +1219,19 @@ preprocessDateTimePattern(const tstring& pattern, DailyRollingFileSchedule& sche } static tstring -preprocessFilenamePattern(const tstring& pattern, DailyRollingFileSchedule& schedule) +preprocessFilenamePattern(const tstring_view& pattern, DailyRollingFileSchedule& schedule) { tostringstream result; - for (size_t i = 0; i < pattern.length(); ) + for (size_t i = 0, pattern_length = pattern.length(); i < pattern_length; ) { tchar c = pattern[i]; if (c == LOG4CPLUS_TEXT('%') && - i < pattern.length()-1 && + i < pattern_length-1 && pattern[i+1] == LOG4CPLUS_TEXT('d')) { - if (i < pattern.length()-2 && pattern[i+2] == LOG4CPLUS_TEXT('{')) + if (i < pattern_length-2 && pattern[i+2] == LOG4CPLUS_TEXT('{')) { size_t closingBracketPos = pattern.find(LOG4CPLUS_TEXT("}"), i+2); if (closingBracketPos == std::string::npos) @@ -1236,7 +1240,10 @@ preprocessFilenamePattern(const tstring& pattern, DailyRollingFileSchedule& sche } else { - result << preprocessDateTimePattern(pattern.substr(i+3, closingBracketPos-(i+3)), schedule); + result << preprocessDateTimePattern( + tstring_view (pattern.data () + (i+3), + closingBracketPos-(i+3)), + schedule); i = closingBracketPos + 1; } } @@ -1472,4 +1479,31 @@ TimeBasedRollingFileAppender::calculateNextRolloverTime(const Time& t) const log4cplus::calculateNextRolloverTime (t, schedule)); } + +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +CATCH_TEST_CASE ("TimeBasedRollingFileAppender", "[appender]") +{ + + CATCH_SECTION ("date format string preprocessing") + { + DailyRollingFileSchedule schedule; + CATCH_REQUIRE (preprocessDateTimePattern( + LOG4CPLUS_TEXT ("yyyy-MM-dd"), schedule) + == LOG4CPLUS_TEXT ("%Y-%m-%d")); + CATCH_REQUIRE (schedule == DAILY); + } + + CATCH_SECTION ("file name pattern preprocessing") + { + DailyRollingFileSchedule schedule; + CATCH_REQUIRE (preprocessFilenamePattern( + LOG4CPLUS_TEXT ("log-%d{yyyy-MM-dd}"), schedule) + == LOG4CPLUS_TEXT ("log-%Y-%m-%d")); + CATCH_REQUIRE (schedule == DAILY); + } + +} +#endif + + } // namespace log4cplus From ab8a0b6f3b7b9be2c90a7a0ad593a1e2674d1e6e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 20:25:44 +0200 Subject: [PATCH 008/353] appveyor.yml: Use Visual Studio 2017. --- appveyor.yml | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 5abc1464b..fb71e543c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,18 +10,18 @@ environment: # - PRJ_GEN: "Visual Studio 11 2012 Win64" # BDIR: msvc2012 # PRJ_CFG: Release - - PRJ_GEN: "Visual Studio 12 2013 Win64" - BDIR: msvc2013 - PRJ_CFG: Release - PARAMS: '' - - PRJ_GEN: "Visual Studio 14 2015 Win64" - BDIR: msvc2015 - PRJ_CFG: Release - PARAMS: '' - - PRJ_GEN: "Visual Studio 14 2015 Win64" - BDIR: msvc2015clang - PRJ_CFG: Release - PARAMS: -T "v140_clang_c2" + # - PRJ_GEN: "Visual Studio 12 2013 Win64" + # BDIR: msvc2013 + # PRJ_CFG: Release + # PARAMS: '' + # - PRJ_GEN: "Visual Studio 14 2015 Win64" + # BDIR: msvc2015 + # PRJ_CFG: Release + # PARAMS: '' + # - PRJ_GEN: "Visual Studio 14 2015 Win64" + # BDIR: msvc2015clang + # PRJ_CFG: Release + # PARAMS: -T "v140_clang_c2" # - PRJ_GEN: "Visual Studio 15 2017 Win64" # BDIR: msvc2017 # PRJ_CFG: Release @@ -32,6 +32,10 @@ environment: # PRJ_CFG: Release # PARAMS: -T "v141_clang_c2" # image: Visual Studio 2017 + - PRJ_GEN: "Visual Studio 15 2017 Win64" + BDIR: msvc2017 + PRJ_CFG: Release + image: Visual Studio 2017 build_script: - mkdir build.%BDIR% From 144f7ca8c0fc51063c6dbcde530ab52c25bb1df9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 20:43:03 +0200 Subject: [PATCH 009/353] appveyors.yml: Use Visual Studio 2017. --- appveyor.yml | 4 +++- scripts/propagate-version.pl | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index fb71e543c..33eced44e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.0.0.{build} +version: 3.0.0.{build} install: - git submodule update --init --recursive @@ -33,11 +33,13 @@ environment: # PARAMS: -T "v141_clang_c2" # image: Visual Studio 2017 - PRJ_GEN: "Visual Studio 15 2017 Win64" + VCVARS_COMMAND: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"' BDIR: msvc2017 PRJ_CFG: Release image: Visual Studio 2017 build_script: + - call %VCVARS_COMMAND% - mkdir build.%BDIR% - cd build.%BDIR% - cmake .. -G "%PRJ_GEN%" "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% diff --git a/scripts/propagate-version.pl b/scripts/propagate-version.pl index 08700257f..03676caf0 100755 --- a/scripts/propagate-version.pl +++ b/scripts/propagate-version.pl @@ -100,4 +100,11 @@ BEGIN /$major$1$minor$2$so_current_adjusted/gx; print $line; } + + local @ARGV = ("appveyor.yml"); + while (my $line = <>) + { + $line =~ s/^(version:\s*)(?:\d+(?:\.\d+(?:\.\d+)?)?)(.*)/$1$version$2/x; + print $line; + } } From a42e0f66702691946b89828543e54cb73855279c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 20:46:11 +0200 Subject: [PATCH 010/353] appveyor.yml: Remove commented out parts. --- appveyor.yml | 53 +++++++++++++--------------------------------------- 1 file changed, 13 insertions(+), 40 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 33eced44e..81db2c0cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,50 +1,23 @@ version: 3.0.0.{build} install: - - git submodule update --init --recursive + - git submodule update --init --recursive environment: - matrix: - # - # >>> Enable for 1.x - # - PRJ_GEN: "Visual Studio 11 2012 Win64" - # BDIR: msvc2012 - # PRJ_CFG: Release - # - PRJ_GEN: "Visual Studio 12 2013 Win64" - # BDIR: msvc2013 - # PRJ_CFG: Release - # PARAMS: '' - # - PRJ_GEN: "Visual Studio 14 2015 Win64" - # BDIR: msvc2015 - # PRJ_CFG: Release - # PARAMS: '' - # - PRJ_GEN: "Visual Studio 14 2015 Win64" - # BDIR: msvc2015clang - # PRJ_CFG: Release - # PARAMS: -T "v140_clang_c2" - # - PRJ_GEN: "Visual Studio 15 2017 Win64" - # BDIR: msvc2017 - # PRJ_CFG: Release - # PARAMS: '' - # image: Visual Studio 2017 - # - PRJ_GEN: "Visual Studio 15 2017 Win64" - # BDIR: msvc2017clang - # PRJ_CFG: Release - # PARAMS: -T "v141_clang_c2" - # image: Visual Studio 2017 - - PRJ_GEN: "Visual Studio 15 2017 Win64" - VCVARS_COMMAND: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"' - BDIR: msvc2017 - PRJ_CFG: Release - image: Visual Studio 2017 + matrix: + - PRJ_GEN: "Visual Studio 15 2017 Win64" + VCVARS_COMMAND: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"' + BDIR: msvc2017 + PRJ_CFG: Release + image: Visual Studio 2017 build_script: - - call %VCVARS_COMMAND% - - mkdir build.%BDIR% - - cd build.%BDIR% - - cmake .. -G "%PRJ_GEN%" "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% - - cmake --build . --config "%PRJ_CFG%" --clean-first + - call %VCVARS_COMMAND% + - mkdir build.%BDIR% + - cd build.%BDIR% + - cmake .. -G "%PRJ_GEN%" "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% + - cmake --build . --config "%PRJ_CFG%" --clean-first test_script: - - ctest -V --output-on-failure -C %PRJ_CFG% + - ctest -V --output-on-failure -C %PRJ_CFG% From e72d0f4a9d6c48190d06aab22040f247fd371758 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 20:51:58 +0200 Subject: [PATCH 011/353] appveyor.yml: Try without vcvars.bat. --- appveyor.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 81db2c0cc..5ad14b4e2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 3.0.0.{build} +version: 3.0.0.{build}-{branch} install: - git submodule update --init --recursive @@ -6,13 +6,11 @@ install: environment: matrix: - PRJ_GEN: "Visual Studio 15 2017 Win64" - VCVARS_COMMAND: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"' BDIR: msvc2017 PRJ_CFG: Release image: Visual Studio 2017 build_script: - - call %VCVARS_COMMAND% - mkdir build.%BDIR% - cd build.%BDIR% - cmake .. -G "%PRJ_GEN%" "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% From 8b020e5c83c6ebf8a7e7ea19838dd3ae936013ee Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 21:00:38 +0200 Subject: [PATCH 012/353] appveyor.yml: Try more. --- appveyor.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 5ad14b4e2..f3567bfd9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,14 +1,22 @@ version: 3.0.0.{build}-{branch} +branches: + except: + - gh-pages + +platform: + - x86 + - x64 + install: - git submodule update --init --recursive environment: matrix: - PRJ_GEN: "Visual Studio 15 2017 Win64" + APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" BDIR: msvc2017 PRJ_CFG: Release - image: Visual Studio 2017 build_script: - mkdir build.%BDIR% From 9a4a565533a7aed1b2e36b09a31305c3fe0427e3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 21:01:02 +0200 Subject: [PATCH 013/353] CMakeLists.txt: Require C++17 standard. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bccbac314..386d3e87c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ if (MSVC) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") endif () else () - set (CMAKE_CXX_STANDARD 11) + set (CMAKE_CXX_STANDARD 17) endif () set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_EXTENSIONS ON) From 7a8c47a2aa58d2ac55d0cab23f1fc243d0ba901c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 21:20:58 +0200 Subject: [PATCH 014/353] Use `set (CMAKE_CXX_STANDARD 17)` even for MSVC. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 386d3e87c..447ba97d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ cmake_minimum_required (VERSION 3.1) enable_language (CXX) if (MSVC) - #set (CMAKE_CXX_STANDARD 14) + set (CMAKE_CXX_STANDARD 17) if (CMAKE_VS_PLATFORM_NAME MATCHES "ARM") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") endif () From b91dfa3e481eb490a142f9e4d7c5533dfbe89562 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 21:35:42 +0200 Subject: [PATCH 015/353] Do not use `std::unary_function`. It was removed in C++17. --- src/env.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/env.cxx b/src/env.cxx index dff4c9da0..b8da44681 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -208,7 +208,6 @@ namespace { struct path_sep_comp - : public std::unary_function { path_sep_comp () { } From 557cec26c1b352053c7f0fec0bb4862e26860ce4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 22:10:28 +0200 Subject: [PATCH 016/353] appveyor.yml: Remove `platform` setting. --- appveyor.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index f3567bfd9..61253a979 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,10 +4,6 @@ branches: except: - gh-pages -platform: - - x86 - - x64 - install: - git submodule update --init --recursive @@ -26,4 +22,3 @@ build_script: test_script: - ctest -V --output-on-failure -C %PRJ_CFG% - From 946c1783f1079bf06264429e3c65181a72e74889 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 22:39:41 +0200 Subject: [PATCH 017/353] Update Catch to 2.3.0. --- Makefile.am | 2 +- Makefile.am.tpl | 2 +- Makefile.in | 2 +- catch | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index ccec11e54..2235ae31a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include \ + -I$(top_srcdir)/catch/single_include/catch2 \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ AM_CXXFLAGS=@LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ diff --git a/Makefile.am.tpl b/Makefile.am.tpl index 5ce348119..ae72f52fe 100644 --- a/Makefile.am.tpl +++ b/Makefile.am.tpl @@ -7,7 +7,7 @@ am AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include \ + -I$(top_srcdir)/catch/single_include/catch2 \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ AM_CXXFLAGS=@LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ diff --git a/Makefile.in b/Makefile.in index 112c2ce28..1911d139d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1197,7 +1197,7 @@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include \ + -I$(top_srcdir)/catch/single_include/catch2 \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ diff --git a/catch b/catch index d08cee288..15cf3caac 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit d08cee288f6f1940b1c6125e48499c8736acbde3 +Subproject commit 15cf3caaceb21172ea42a24e595a2eb58c3ec960 From 3f044bf7c84dbd2fdd61f5c535416f5dd55e3464 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 22:57:25 +0200 Subject: [PATCH 018/353] Fix CMake builds after Catch update. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 447ba97d1..e9bbd772e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,7 +146,7 @@ configure_file(${DEFINES_HXX_CMAKE} ${DEFINES_HXX} @ONLY) include_directories (${log4cplus_SOURCE_DIR}/include ${log4cplus_SOURCE_DIR}/threadpool - ${log4cplus_SOURCE_DIR}/catch/single_include + ${log4cplus_SOURCE_DIR}/catch/single_include/catch2 ${log4cplus_BINARY_DIR}/include ) From 63878eb0138b204a7dde96efdb035e0398cf96fa Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 23:19:25 +0200 Subject: [PATCH 019/353] Fix Windows build after Catch update. --- src/global-init.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/global-init.cxx b/src/global-init.cxx index b9e3f8799..8c0938264 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -36,6 +36,12 @@ #endif #if defined (LOG4CPLUS_WITH_UNIT_TESTS) # define CATCH_CONFIG_RUNNER +# ifndef CP_UTF8 +// We have to define this here for Catch. It would have been defined by +// Windows.h if we weren't avoiding its definition by defining NONLS in +// windowsh-inc.h. +# define CP_UTF8 65001 +# endif # include #endif #include From fad2d58b2eaf4e6ec05815e650513be82e805be7 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Sep 2018 23:38:10 +0200 Subject: [PATCH 020/353] Include full featured Windows.h for Catch in global-init.cxx. --- include/log4cplus/config/windowsh-inc-full.h | 42 ++++++++++++++++++++ src/global-init.cxx | 18 ++++----- 2 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 include/log4cplus/config/windowsh-inc-full.h diff --git a/include/log4cplus/config/windowsh-inc-full.h b/include/log4cplus/config/windowsh-inc-full.h new file mode 100644 index 000000000..bff5925fc --- /dev/null +++ b/include/log4cplus/config/windowsh-inc-full.h @@ -0,0 +1,42 @@ +// -*- C++ -*- +// Module: Log4CPLUS +// File: windowsh-inc.h +// Created: 9/2018 +// Author: Vaclav Haisman +// +// +// Copyright (C) 2018, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// NOTE: This file is a fragment intentionally left without include guards. + +#if defined (_WIN32) +#include +#include +#include +#if defined (LOG4CPLUS_HAVE_INTRIN_H) +#include +#endif +#endif + +// NOTE: This file is a fragment intentionally left without include guards. diff --git a/src/global-init.cxx b/src/global-init.cxx index 8c0938264..bc53aba42 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -19,6 +19,14 @@ // limitations under the License. #include + +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +// Include full Windows.h early for Catch. +# include +# define CATCH_CONFIG_RUNNER +# include +#endif + #include #include #include @@ -34,16 +42,6 @@ #if ! defined (LOG4CPLUS_SINGLE_THREADED) #include "ThreadPool.h" #endif -#if defined (LOG4CPLUS_WITH_UNIT_TESTS) -# define CATCH_CONFIG_RUNNER -# ifndef CP_UTF8 -// We have to define this here for Catch. It would have been defined by -// Windows.h if we weren't avoiding its definition by defining NONLS in -// windowsh-inc.h. -# define CP_UTF8 65001 -# endif -# include -#endif #include #include #include From cc93711f4d54ae63dbdad2c3d37c45599ccff434 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 3 Sep 2018 00:02:01 +0200 Subject: [PATCH 021/353] Another attempt to fix build. Rename Semaphore's `max` to `max_` to avoid conflict with Windows' `max()` macro. --- include/log4cplus/thread/syncprims-pub-impl.h | 12 ++++++------ include/log4cplus/thread/syncprims.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index 417c0ffbf..c549d3db7 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -93,11 +93,11 @@ Mutex::unlock () const // LOG4CPLUS_INLINE_EXPORT -Semaphore::Semaphore (unsigned LOG4CPLUS_THREADED (max_), +Semaphore::Semaphore (unsigned LOG4CPLUS_THREADED (max), unsigned LOG4CPLUS_THREADED (initial)) #if ! defined (LOG4CPLUS_SINGLE_THREADED) - : max (max_) - , val ((std::min) (max, initial)) + : max_ (max) + , val ((std::min) (max_, initial)) #endif { } @@ -114,7 +114,7 @@ Semaphore::unlock () const #if ! defined (LOG4CPLUS_SINGLE_THREADED) std::lock_guard guard (mtx); - if (val >= max) + if (val >= max_) LOG4CPLUS_THROW_RTE ("Semaphore::unlock(): val >= max"); ++val; @@ -130,7 +130,7 @@ Semaphore::lock () const #if ! defined (LOG4CPLUS_SINGLE_THREADED) std::unique_lock guard (mtx); - if (LOG4CPLUS_UNLIKELY(val > max)) + if (LOG4CPLUS_UNLIKELY(val > max_)) LOG4CPLUS_THROW_RTE ("Semaphore::unlock(): val > max"); while (val == 0) @@ -138,7 +138,7 @@ Semaphore::lock () const --val; - if (LOG4CPLUS_UNLIKELY(val >= max)) + if (LOG4CPLUS_UNLIKELY(val >= max_)) LOG4CPLUS_THROW_RTE ("Semaphore::unlock(): val >= max"); #endif } diff --git a/include/log4cplus/thread/syncprims.h b/include/log4cplus/thread/syncprims.h index 53428b0df..611d32af5 100644 --- a/include/log4cplus/thread/syncprims.h +++ b/include/log4cplus/thread/syncprims.h @@ -94,7 +94,7 @@ class LOG4CPLUS_EXPORT Semaphore #if ! defined (LOG4CPLUS_SINGLE_THREADED) mutable std::mutex mtx; mutable std::condition_variable cv; - mutable unsigned max; + mutable unsigned max_; mutable unsigned val; #endif }; From eed493f03a111ce573e2ba9d47e39a3d1aa099d9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 3 Sep 2018 19:29:33 +0200 Subject: [PATCH 022/353] CMakeLists.txt: Use PIC/PIE code generation even for static libs. --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e9bbd772e..02a901271 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,9 @@ set (CMAKE_LEGACY_CYGWIN_WIN32 0) project (log4cplus) cmake_minimum_required (VERSION 3.1) +# Use "-fPIC" / "-fPIE" for all targets by default, including static libs. +set (CMAKE_POSITION_INDEPENDENT_CODE ON) + enable_language (CXX) if (MSVC) set (CMAKE_CXX_STANDARD 17) From f241b371bc0b93ff8ea6875f919a45c86eb78f99 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 8 Sep 2018 10:05:23 +0200 Subject: [PATCH 023/353] Regenerate Makefile.am for windowsh-inc-full.h addition. --- include/Makefile.am | 1 + include/Makefile.in | 1 + 2 files changed, 2 insertions(+) diff --git a/include/Makefile.am b/include/Makefile.am index aa6c29a9c..938b5a4d7 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -12,6 +12,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/config/defines.hxx \ log4cplus/config/macosx.h \ log4cplus/config/win32.h \ + log4cplus/config/windowsh-inc-full.h \ log4cplus/config/windowsh-inc.h \ log4cplus/configurator.h \ log4cplus/consoleappender.h \ diff --git a/include/Makefile.in b/include/Makefile.in index 975ea5955..d100f4ef5 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -368,6 +368,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/config/defines.hxx \ log4cplus/config/macosx.h \ log4cplus/config/win32.h \ + log4cplus/config/windowsh-inc-full.h \ log4cplus/config/windowsh-inc.h \ log4cplus/configurator.h \ log4cplus/consoleappender.h \ From c6585ff03353b9ae156732cf13cbc161b75251ef Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 8 Sep 2018 10:05:48 +0200 Subject: [PATCH 024/353] Use `string_view` in InternalLoggingEvent interface. --- include/log4cplus/spi/loggingevent.h | 44 +++++++++++---------- src/loggingevent.cxx | 59 +++++++++++++++++----------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/include/log4cplus/spi/loggingevent.h b/include/log4cplus/spi/loggingevent.h index de3417e36..7357dc4ec 100644 --- a/include/log4cplus/spi/loggingevent.h +++ b/include/log4cplus/spi/loggingevent.h @@ -63,28 +63,30 @@ namespace log4cplus { * the filename parameter. * @param function Name of function that is logging this event. */ - InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& message, + InternalLoggingEvent(const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& message, const char* filename, int line, const char * function = nullptr); - InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& ndc, + InternalLoggingEvent(const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& ndc, MappedDiagnosticContextMap const & mdc, - const log4cplus::tstring& message, - const log4cplus::tstring& thread, - log4cplus::helpers::Time time, const log4cplus::tstring& file, - int line, const log4cplus::tstring & function - = log4cplus::tstring ()) LOG4CPLUS_ATTRIBUTE_DEPRECATED; - - InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& ndc, + const log4cplus::tstring_view& message, + const log4cplus::tstring_view& thread, + log4cplus::helpers::Time time, + const log4cplus::tstring_view& file, + int line, const log4cplus::tstring_view & function + = log4cplus::tstring_view ()) LOG4CPLUS_ATTRIBUTE_DEPRECATED; + + InternalLoggingEvent(const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& ndc, MappedDiagnosticContextMap const & mdc, - const log4cplus::tstring& message, - const log4cplus::tstring& thread, - const log4cplus::tstring& thread2, - log4cplus::helpers::Time time, const log4cplus::tstring& file, - int line, const log4cplus::tstring & function - = log4cplus::tstring ()); + const log4cplus::tstring_view& message, + const log4cplus::tstring_view& thread, + const log4cplus::tstring_view& thread2, + log4cplus::helpers::Time time, + const log4cplus::tstring_view& file, + int line, const log4cplus::tstring_view & function + = log4cplus::tstring_view ()); InternalLoggingEvent (); @@ -93,13 +95,13 @@ namespace log4cplus { virtual ~InternalLoggingEvent(); - void setLoggingEvent (const log4cplus::tstring & logger, - LogLevel ll, const log4cplus::tstring & message, + void setLoggingEvent (const log4cplus::tstring_view & logger, + LogLevel ll, const log4cplus::tstring_view & message, const char * filename, int line, const char * function = nullptr); void setFunction (char const * func); - void setFunction (log4cplus::tstring const &); + void setFunction (log4cplus::tstring_view const &); // public virtual methods diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index f3a9ffde9..615c62797 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -33,9 +33,10 @@ static const int LOG4CPLUS_DEFAULT_TYPE = 1; // InternalLoggingEvent ctors and dtor /////////////////////////////////////////////////////////////////////////////// -InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& message_, const char* filename, - int line_, const char * function_) +InternalLoggingEvent::InternalLoggingEvent( + const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& message_, + const char* filename, int line_, const char * function_) : message(message_) , loggerName(logger) , ll(loglevel) @@ -58,12 +59,15 @@ InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, } -InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& ndc_, - MappedDiagnosticContextMap const & mdc_, const log4cplus::tstring& message_, - const log4cplus::tstring& thread_, log4cplus::helpers::Time time, - const log4cplus::tstring& file_, int line_, - const log4cplus::tstring & function_) +InternalLoggingEvent::InternalLoggingEvent( + const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& ndc_, + MappedDiagnosticContextMap const & mdc_, + const log4cplus::tstring_view& message_, + const log4cplus::tstring_view& thread_, + log4cplus::helpers::Time time, + const log4cplus::tstring_view& file_, int line_, + const log4cplus::tstring_view& function_) : message(message_) , loggerName(logger) , ll(loglevel) @@ -72,7 +76,9 @@ InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, , thread(thread_) , timestamp(time) , file(file_) - , function (function_) + , function (function_.data () + ? function_ + : log4cplus::tstring()) , line(line_) , threadCached(true) , thread2Cached(true) @@ -82,12 +88,16 @@ InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, } -InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, - LogLevel loglevel, const log4cplus::tstring& ndc_, - MappedDiagnosticContextMap const & mdc_, const log4cplus::tstring& message_, - const log4cplus::tstring& thread_, const log4cplus::tstring& thread2_, - log4cplus::helpers::Time time, const log4cplus::tstring& file_, int line_, - const log4cplus::tstring & function_) +InternalLoggingEvent::InternalLoggingEvent( + const log4cplus::tstring_view& logger, + LogLevel loglevel, const log4cplus::tstring_view& ndc_, + MappedDiagnosticContextMap const & mdc_, + const log4cplus::tstring_view& message_, + const log4cplus::tstring_view& thread_, + const log4cplus::tstring_view& thread2_, + log4cplus::helpers::Time time, + const log4cplus::tstring_view& file_, int line_, + const log4cplus::tstring_view& function_) : message(message_) , loggerName(logger) , ll(loglevel) @@ -97,7 +107,9 @@ InternalLoggingEvent::InternalLoggingEvent(const log4cplus::tstring& logger, , thread2(thread2_) , timestamp(time) , file(file_) - , function (function_) + , function (function_.data () + ? function_ + : log4cplus::tstring()) , line(line_) , threadCached(true) , thread2Cached(true) @@ -162,9 +174,9 @@ InternalLoggingEvent::getDefaultType() /////////////////////////////////////////////////////////////////////////////// void -InternalLoggingEvent::setLoggingEvent (const log4cplus::tstring & logger, - LogLevel loglevel, const log4cplus::tstring & msg, const char * filename, - int fline, const char * function_) +InternalLoggingEvent::setLoggingEvent (const log4cplus::tstring_view & logger, + LogLevel loglevel, const log4cplus::tstring_view & msg, + const char * filename, int fline, const char * function_) { // This could be imlemented using the swap idiom: // @@ -207,9 +219,12 @@ InternalLoggingEvent::setFunction (char const * func) void -InternalLoggingEvent::setFunction (log4cplus::tstring const & func) +InternalLoggingEvent::setFunction (log4cplus::tstring_view const & func) { - function = func; + if (func.data ()) + function = func; + else + function.clear (); } From addd5909c2aa20cf352ad9c4c55ccbff7047a480 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 15:43:14 +0200 Subject: [PATCH 025/353] Use `string_view` in more places. --- include/log4cplus/helpers/stringhelper.h | 6 +++--- include/log4cplus/hierarchy.h | 15 ++++++++------- include/log4cplus/logger.h | 16 ++++++++-------- include/log4cplus/loggingmacros.h | 4 ++-- include/log4cplus/loglevel.h | 2 +- include/log4cplus/spi/loggerfactory.h | 4 ++-- include/log4cplus/spi/loggerimpl.h | 6 +++--- src/hierarchy.cxx | 21 ++++++++------------- src/logger.cxx | 22 +++++++++++----------- src/loggerimpl.cxx | 6 +++--- src/loggingmacros.cxx | 2 +- src/loglevel.cxx | 4 ++-- src/stringhelper.cxx | 4 ++-- 13 files changed, 54 insertions(+), 58 deletions(-) diff --git a/include/log4cplus/helpers/stringhelper.h b/include/log4cplus/helpers/stringhelper.h index ee825c364..b5ff80618 100644 --- a/include/log4cplus/helpers/stringhelper.h +++ b/include/log4cplus/helpers/stringhelper.h @@ -42,14 +42,14 @@ namespace log4cplus { /** * Returns s in upper case. */ - LOG4CPLUS_EXPORT log4cplus::tstring toUpper(const log4cplus::tstring& s); + LOG4CPLUS_EXPORT log4cplus::tstring toUpper(const log4cplus::tstring_view& s); LOG4CPLUS_EXPORT tchar toUpper(tchar); /** * Returns s in lower case. */ - LOG4CPLUS_EXPORT log4cplus::tstring toLower(const log4cplus::tstring& s); + LOG4CPLUS_EXPORT log4cplus::tstring toLower(const log4cplus::tstring_view& s); LOG4CPLUS_EXPORT tchar toLower(tchar); @@ -248,7 +248,7 @@ namespace log4cplus { inline void join (tstring & result, Iterator start, Iterator last, - tstring const & sep) + tstring_view const & sep) { join_worker (result, start, last, sep); } diff --git a/include/log4cplus/hierarchy.h b/include/log4cplus/hierarchy.h index 80cb23c0b..307616179 100644 --- a/include/log4cplus/hierarchy.h +++ b/include/log4cplus/hierarchy.h @@ -94,13 +94,13 @@ namespace log4cplus { * * @param name The name of the logger to search for. */ - virtual bool exists(const log4cplus::tstring& name); + virtual bool exists(const log4cplus::tstring_view& name); /** * Similar to {@link #disable(LogLevel)} except that the LogLevel * argument is given as a log4cplus::tstring. */ - virtual void disable(const log4cplus::tstring& loglevelStr); + virtual void disable(const log4cplus::tstring_view& loglevelStr); /** * Disable all logging requests of LogLevel equal to or @@ -161,7 +161,7 @@ namespace log4cplus { * * @param name The name of the logger to retrieve. */ - virtual Logger getInstance(const log4cplus::tstring& name); + virtual Logger getInstance(const log4cplus::tstring_view& name); /** * Return a new logger instance named as the first parameter using @@ -175,7 +175,8 @@ namespace log4cplus { * @param name The name of the logger to retrieve. * @param factory The factory that will make the new logger instance. */ - virtual Logger getInstance(const log4cplus::tstring& name, spi::LoggerFactory& factory); + virtual Logger getInstance(const log4cplus::tstring_view& name, + spi::LoggerFactory& factory); /** * Returns all the currently defined loggers in this hierarchy. @@ -237,8 +238,8 @@ namespace log4cplus { private: // Types typedef std::vector ProvisionNode; - typedef std::map ProvisionNodeMap; - typedef std::map LoggerMap; + typedef std::map> ProvisionNodeMap; + typedef std::map> LoggerMap; // Methods /** @@ -246,7 +247,7 @@ namespace log4cplus { * NOTE: This method does not lock the hashtable_mutex. */ LOG4CPLUS_PRIVATE - Logger getInstanceImpl(const log4cplus::tstring& name, + Logger getInstanceImpl(const log4cplus::tstring_view& name, spi::LoggerFactory& factory); /** diff --git a/include/log4cplus/logger.h b/include/log4cplus/logger.h index dbf6d11cd..de0b70c86 100644 --- a/include/log4cplus/logger.h +++ b/include/log4cplus/logger.h @@ -77,7 +77,7 @@ namespace log4cplus * * @param name The name of the logger to search for. */ - static bool exists(const log4cplus::tstring& name); + static bool exists(const log4cplus::tstring_view& name); /* * Returns all the currently defined loggers in the default @@ -104,7 +104,7 @@ namespace log4cplus * * @param name The name of the logger to retrieve. */ - static Logger getInstance(const log4cplus::tstring& name); + static Logger getInstance(const log4cplus::tstring_view& name); /** * Like getInstance() except that the type of logger @@ -118,7 +118,7 @@ namespace log4cplus * @param factory A {@link spi::LoggerFactory} implementation that will * actually create a new Instance. */ - static Logger getInstance(const log4cplus::tstring& name, + static Logger getInstance(const log4cplus::tstring_view& name, spi::LoggerFactory& factory); /** @@ -158,7 +158,7 @@ namespace log4cplus * @param msg The message to print if assertion is * false. */ - void assertion(bool assertionVal, const log4cplus::tstring& msg) const; + void assertion(bool assertionVal, const log4cplus::tstring_view& msg) const; /** * Close all attached appenders implementing the AppenderAttachable @@ -177,7 +177,7 @@ namespace log4cplus /** * This generic form is intended to be used by wrappers. */ - void log(LogLevel ll, const log4cplus::tstring& message, + void log(LogLevel ll, const log4cplus::tstring_view& message, const char* file = LOG4CPLUS_CALLER_FILE (), int line = LOG4CPLUS_CALLER_LINE (), const char* function = LOG4CPLUS_CALLER_FUNCTION ()) const; @@ -188,7 +188,7 @@ namespace log4cplus * This method creates a new logging event and logs the event * without further checks. */ - void forcedLog(LogLevel ll, const log4cplus::tstring& message, + void forcedLog(LogLevel ll, const log4cplus::tstring_view& message, const char* file = LOG4CPLUS_CALLER_FILE (), int line = LOG4CPLUS_CALLER_LINE (), const char* function = LOG4CPLUS_CALLER_FUNCTION ()) const; @@ -311,11 +311,11 @@ namespace log4cplus */ class LOG4CPLUS_EXPORT DefaultLoggerFactory : public spi::LoggerFactory { public: - Logger makeNewLoggerInstance(const log4cplus::tstring& name, Hierarchy& h); + Logger makeNewLoggerInstance(const log4cplus::tstring_view& name, Hierarchy& h); protected: virtual spi::LoggerImpl * makeNewLoggerImplInstance( - const log4cplus::tstring& name, Hierarchy& h); + const log4cplus::tstring_view& name, Hierarchy& h); }; diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index fa17c44bc..cd339181b 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -107,7 +107,7 @@ macros_get_logger (Logger && logger) inline Logger -macros_get_logger (tstring const & logger) +macros_get_logger (tstring_view const & logger) { return Logger::getInstance (logger); } @@ -127,7 +127,7 @@ LOG4CPLUS_EXPORT void clear_tostringstream (tostringstream &); LOG4CPLUS_EXPORT log4cplus::tostringstream & get_macro_body_oss (); LOG4CPLUS_EXPORT log4cplus::helpers::snprintf_buf & get_macro_body_snprintf_buf (); LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, - log4cplus::LogLevel, log4cplus::tstring const &, char const *, int, + log4cplus::LogLevel, log4cplus::tstring_view const &, char const *, int, char const *); LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, log4cplus::LogLevel, log4cplus::tchar const *, char const *, int, diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index 5f4a81439..92cbcbc6e 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -148,7 +148,7 @@ namespace log4cplus { * Note: It traverses the list of StringToLogLevelMethod * to do this, so all "derived" LogLevels are recognized as well. */ - LogLevel fromString(const log4cplus::tstring& arg) const; + LogLevel fromString(const log4cplus::tstring_view& arg) const; /** * When creating a "derived" LogLevel, a LogLevelToStringMethod diff --git a/include/log4cplus/spi/loggerfactory.h b/include/log4cplus/spi/loggerfactory.h index 55df2182d..252af4ed9 100644 --- a/include/log4cplus/spi/loggerfactory.h +++ b/include/log4cplus/spi/loggerfactory.h @@ -50,13 +50,13 @@ namespace log4cplus { /** * Creates a new Logger object. */ - virtual Logger makeNewLoggerInstance(const log4cplus::tstring& name, + virtual Logger makeNewLoggerInstance(const log4cplus::tstring_view& name, Hierarchy& h) = 0; virtual ~LoggerFactory() = 0; protected: virtual LoggerImpl * makeNewLoggerImplInstance( - const log4cplus::tstring& name, Hierarchy& h) = 0; + const log4cplus::tstring_view& name, Hierarchy& h) = 0; }; } // end namespace spi diff --git a/include/log4cplus/spi/loggerimpl.h b/include/log4cplus/spi/loggerimpl.h index 4112f0f18..359b15e5e 100644 --- a/include/log4cplus/spi/loggerimpl.h +++ b/include/log4cplus/spi/loggerimpl.h @@ -87,7 +87,7 @@ namespace log4cplus { /** * This generic form is intended to be used by wrappers. */ - virtual void log(LogLevel ll, const log4cplus::tstring& message, + virtual void log(LogLevel ll, const log4cplus::tstring_view& message, const char* file=nullptr, int line=-1, const char* function=nullptr); @@ -150,7 +150,7 @@ namespace log4cplus { * @param name The name of the logger. * @param h Hierarchy */ - LoggerImpl(const log4cplus::tstring& name, Hierarchy& h); + LoggerImpl(const log4cplus::tstring_view& name, Hierarchy& h); // Methods @@ -159,7 +159,7 @@ namespace log4cplus { * without further checks. */ virtual void forcedLog(LogLevel ll, - const log4cplus::tstring& message, + const log4cplus::tstring_view& message, const char* file, int line, const char* function); diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index b62435c47..75587678c 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -39,7 +39,7 @@ namespace { static -bool startsWith(tstring const & teststr, tstring const & substr) +bool startsWith(tstring_view const & teststr, tstring_view const & substr) { bool val = false; tstring::size_type const len = substr.length(); @@ -98,7 +98,7 @@ Hierarchy::clear() bool -Hierarchy::exists(const tstring& name) +Hierarchy::exists(const tstring_view& name) { // Root logger always does exist. if (name.empty ()) @@ -112,7 +112,7 @@ Hierarchy::exists(const tstring& name) void -Hierarchy::disable(const tstring& loglevelStr) +Hierarchy::disable(const tstring_view& loglevelStr) { if(disableValue != DISABLE_OVERRIDE) { disableValue = getLogLevelManager().fromString(loglevelStr); @@ -158,14 +158,14 @@ Hierarchy::enableAll() Logger -Hierarchy::getInstance(const tstring& name) +Hierarchy::getInstance(const tstring_view& name) { return getInstance(name, *defaultFactory); } Logger -Hierarchy::getInstance(const tstring& name, spi::LoggerFactory& factory) +Hierarchy::getInstance(const tstring_view& name, spi::LoggerFactory& factory) { thread::MutexGuard guard (hashtable_mutex); @@ -275,7 +275,8 @@ Hierarchy::shutdown() ////////////////////////////////////////////////////////////////////////////// Logger -Hierarchy::getInstanceImpl(const tstring& name, spi::LoggerFactory& factory) +Hierarchy::getInstanceImpl(const tstring_view& name, + spi::LoggerFactory& factory) { Logger logger; LoggerMap::iterator lm_it; @@ -300,13 +301,7 @@ Hierarchy::getInstanceImpl(const tstring& name, spi::LoggerFactory& factory) if (pnm_it != provisionNodes.end()) { updateChildren(pnm_it->second, logger); - bool deleted = (provisionNodes.erase(name) > 0); - if (! deleted) - { - helpers::getLogLog().error( - LOG4CPLUS_TEXT("Hierarchy::getInstanceImpl()- Delete failed"), - true); - } + provisionNodes.erase(pnm_it); } updateParents(logger); } diff --git a/src/logger.cxx b/src/logger.cxx index 171e87360..a34b40bb2 100644 --- a/src/logger.cxx +++ b/src/logger.cxx @@ -31,16 +31,16 @@ namespace log4cplus Logger -DefaultLoggerFactory::makeNewLoggerInstance (const log4cplus::tstring & name, - Hierarchy& h) +DefaultLoggerFactory::makeNewLoggerInstance ( + const log4cplus::tstring_view & name, Hierarchy& h) { return Logger (makeNewLoggerImplInstance(name, h)); } spi::LoggerImpl * -DefaultLoggerFactory::makeNewLoggerImplInstance(const log4cplus::tstring& name, - Hierarchy& h) +DefaultLoggerFactory::makeNewLoggerImplInstance( + const log4cplus::tstring_view& name, Hierarchy& h) { return new spi::LoggerImpl (name, h); } @@ -58,7 +58,7 @@ Logger::getDefaultHierarchy () bool -Logger::exists (const log4cplus::tstring & name) +Logger::exists (const log4cplus::tstring_view & name) { return getDefaultHierarchy().exists(name); } @@ -72,14 +72,14 @@ Logger::getCurrentLoggers () Logger -Logger::getInstance (const log4cplus::tstring& name) +Logger::getInstance (const log4cplus::tstring_view& name) { return getDefaultHierarchy().getInstance(name); } Logger -Logger::getInstance (const log4cplus::tstring& name, +Logger::getInstance (const log4cplus::tstring_view& name, spi::LoggerFactory& factory) { return getDefaultHierarchy().getInstance(name, factory); @@ -225,7 +225,7 @@ Logger::removeAppender (const log4cplus::tstring& name) void -Logger::assertion (bool assertionVal, const log4cplus::tstring& msg) const +Logger::assertion (bool assertionVal, const log4cplus::tstring_view& msg) const { if (! assertionVal) log (FATAL_LOG_LEVEL, msg, nullptr, -1); @@ -247,8 +247,8 @@ Logger::isEnabledFor (LogLevel ll) const void -Logger::log (LogLevel ll, const log4cplus::tstring& message, const char* file, - int line, const char* function) const +Logger::log (LogLevel ll, const log4cplus::tstring_view& message, + const char* file, int line, const char* function) const { value->log (ll, message, file, line, function ? function : ""); } @@ -262,7 +262,7 @@ Logger::log (spi::InternalLoggingEvent const & ev) const void -Logger::forcedLog (LogLevel ll, const log4cplus::tstring& message, +Logger::forcedLog (LogLevel ll, const log4cplus::tstring_view& message, const char* file, int line, const char* function) const { value->forcedLog (ll, message, file, line, function ? function : ""); diff --git a/src/loggerimpl.cxx b/src/loggerimpl.cxx index e850fd0e5..d7f360a15 100644 --- a/src/loggerimpl.cxx +++ b/src/loggerimpl.cxx @@ -33,7 +33,7 @@ namespace log4cplus { namespace spi { ////////////////////////////////////////////////////////////////////////////// // Logger Constructors and Destructor ////////////////////////////////////////////////////////////////////////////// -LoggerImpl::LoggerImpl(const log4cplus::tstring& name_, Hierarchy& h) +LoggerImpl::LoggerImpl(const log4cplus::tstring_view& name_, Hierarchy& h) : name(name_), ll(NOT_SET_LOG_LEVEL), parent(nullptr), @@ -101,7 +101,7 @@ LoggerImpl::isEnabledFor(LogLevel loglevel) const void LoggerImpl::log(LogLevel loglevel, - const log4cplus::tstring& message, + const log4cplus::tstring_view& message, const char* file, int line, const char* function) @@ -159,7 +159,7 @@ LoggerImpl::setAdditivity(bool additive_) void LoggerImpl::forcedLog(LogLevel loglevel, - const log4cplus::tstring& message, + const log4cplus::tstring_view& message, const char* file, int line, const char* function) diff --git a/src/loggingmacros.cxx b/src/loggingmacros.cxx index 486f956c4..d8a064ef7 100644 --- a/src/loggingmacros.cxx +++ b/src/loggingmacros.cxx @@ -86,7 +86,7 @@ macro_forced_log (log4cplus::Logger const & logger, void macro_forced_log (log4cplus::Logger const & logger, - log4cplus::LogLevel log_level, log4cplus::tstring const & msg, + log4cplus::LogLevel log_level, log4cplus::tstring_view const & msg, char const * filename, int line, char const * func) { log4cplus::spi::InternalLoggingEvent & ev diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 5b15a4803..022289cbc 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -135,7 +135,7 @@ LogLevelManager::toString(LogLevel ll) const LogLevel -LogLevelManager::fromString(const tstring& arg) const +LogLevelManager::fromString(const tstring_view& arg) const { tstring const s = helpers::toUpper(arg); @@ -148,7 +148,7 @@ LogLevelManager::fromString(const tstring& arg) const helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("Unrecognized log level: ") - + arg); + + tstring (arg)); return NOT_SET_LOG_LEVEL; } diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 0e6529620..04389a9e8 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -222,7 +222,7 @@ toUpper (tchar ch) tstring -toUpper(const tstring& s) +toUpper(const tstring_view& s) { tstring ret; std::transform(s.begin(), s.end(), std::back_inserter (ret), @@ -239,7 +239,7 @@ toLower (tchar ch) tstring -toLower(const tstring& s) +toLower(const tstring_view& s) { tstring ret; std::transform(s.begin(), s.end(), std::back_inserter (ret), From f9a8bdf5b160b3e6b82c8a47aec2dcee4d5ce02e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 16:22:41 +0200 Subject: [PATCH 026/353] .travis.yml: Fix builds on master. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3b6b26062..3ef0fe446 100644 --- a/.travis.yml +++ b/.travis.yml @@ -71,8 +71,8 @@ after_failure: - cat config.log - cat tests/testsuite.log branches: - only: - - 2.0.x + except: + - gh-pages notifications: recipients: - vhaisman@gmail.com From 04d9c39a2478e26aebfb41b4f46798e1fdd4f954 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 16:32:03 +0200 Subject: [PATCH 027/353] .travis.yml: Try GCC 7. --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ef0fe446..38cca61a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,8 +11,8 @@ addons: &addons - llvm-toolchain-precise-3.8 - ubuntu-sdk-team packages: &packages - - g++-6 - - gcc-6 + - g++-7 + - gcc-7 - clang-3.8 - libstdc++-5-dev - swig @@ -45,14 +45,14 @@ before_install: before_script: - | case "$CXX" in #( - g++*) CXX=g++-6 #( + g++*) CXX=g++-7 #( ;; clang++*) CXX=clang++-3.8 ;; esac - | case "$CC" in #( - gcc*) CC=gcc-6 #( + gcc*) CC=gcc-7 #( ;; clang*) CC=clang-3.8 ;; From 9205e9a3f7081f180169e2d4e0a4fe20e9b8dfe9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 16:49:36 +0200 Subject: [PATCH 028/353] .travis.yml: Update for Precise. --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 38cca61a8..6432983f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,12 +8,12 @@ addons: &addons apt: sources: &sources - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.8 + - llvm-toolchain-trusty-3.9 - ubuntu-sdk-team packages: &packages - g++-7 - gcc-7 - - clang-3.8 + - clang-3.9 - libstdc++-5-dev - swig - python @@ -47,14 +47,14 @@ before_script: case "$CXX" in #( g++*) CXX=g++-7 #( ;; - clang++*) CXX=clang++-3.8 + clang++*) CXX=clang++-3.9 ;; esac - | case "$CC" in #( gcc*) CC=gcc-7 #( ;; - clang*) CC=clang-3.8 + clang*) CC=clang-3.9 ;; esac - export CXX CC From cee38a008f1819225909b9a21d9ddc16e40a62c4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 17:34:03 +0200 Subject: [PATCH 029/353] .travis.yml: Try to fix Clang builds. --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6432983f1..278ce7aba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,6 @@ addons: &addons packages: &packages - g++-7 - gcc-7 - - clang-3.9 - libstdc++-5-dev - swig - python @@ -47,14 +46,14 @@ before_script: case "$CXX" in #( g++*) CXX=g++-7 #( ;; - clang++*) CXX=clang++-3.9 + clang++*) CXX=clang++ ;; esac - | case "$CC" in #( gcc*) CC=gcc-7 #( ;; - clang*) CC=clang-3.9 + clang*) CC=clang ;; esac - export CXX CC From f288e0d8075491d8f7ee960c434c11da8033b83b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 15 Sep 2018 18:05:56 +0200 Subject: [PATCH 030/353] Avoid `register` keyword in Swig generated code. The presence of the `register` keyword breaks Clang builds. --- Makefile.in | 6 ++++-- swig/python/Makefile.am | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile.in b/Makefile.in index 1911d139d..e5afd74d2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1377,7 +1377,8 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @WITH_PYTHON_TRUE@ $(am__append_10) @WITH_PYTHON_TRUE@_log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) @WITH_PYTHON_TRUE@_log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ -@WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus +@WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ +@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" @WITH_PYTHON_TRUE@_log4cplus_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ @WITH_PYTHON_TRUE@ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) @@ -1386,7 +1387,8 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@PYTHON_WRAPU_CXX = python_wrapU.cxx @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_SOURCES = $(PYTHON_WRAPU_CXX) $(SWIG_SOURCES) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) diff --git a/swig/python/Makefile.am b/swig/python/Makefile.am index dba85b769..87a294da3 100644 --- a/swig/python/Makefile.am +++ b/swig/python/Makefile.am @@ -6,7 +6,8 @@ pkgpython_PYTHON = log4cplus.py pkgpyexec_LTLIBRARIES = _log4cplus.la _log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) _log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ - $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus + $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ + "-Dregister=/*register*/" _log4cplus_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) _log4cplus_la_LIBADD = $(liblog4cplus_la_file) @@ -25,7 +26,8 @@ pkgpython_PYTHON += log4cplusU.py pkgpyexec_LTLIBRARIES += _log4cplusU.la _log4cplusU_la_SOURCES = $(PYTHON_WRAPU_CXX) $(SWIG_SOURCES) _log4cplusU_la_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 \ - $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus + $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ + "-Dregister=/*register*/" _log4cplusU_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) _log4cplusU_la_LIBADD = $(liblog4cplusU_la_file) From e98a23ccbed634ad6f9d4af67d5955f2e8cf1acc Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 17 Oct 2018 00:06:50 +0200 Subject: [PATCH 031/353] We require at least version 3.8 of CMake. Fixes #348. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 02a901271..9977d39b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ endif () set (CMAKE_LEGACY_CYGWIN_WIN32 0) project (log4cplus) -cmake_minimum_required (VERSION 3.1) +cmake_minimum_required (VERSION 3.8) # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) From c6c5de8072b548f17bb2a5a3576fcfe03400aa3c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 3 Nov 2018 09:16:06 +0100 Subject: [PATCH 032/353] Document `AsyncAppend` property of `Appender` class. --- include/log4cplus/appender.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/log4cplus/appender.h b/include/log4cplus/appender.h index fb92b960c..972359a73 100644 --- a/include/log4cplus/appender.h +++ b/include/log4cplus/appender.h @@ -127,6 +127,11 @@ namespace log4cplus { * is mandatory. * \sa FileAppender * + * + *
AsyncAppend
+ *
Set this property to true if you want all appends using + * this appender to be done asynchronously. Default is false.
+ * * */ class LOG4CPLUS_EXPORT Appender From 95b91397722bd98c5ef8dc89b719807a8384b1bf Mon Sep 17 00:00:00 2001 From: Franck Date: Wed, 19 Sep 2018 19:10:24 +0200 Subject: [PATCH 033/353] Added NCDMatchFilter and MDCMatchFilter to 2.0.x --- include/log4cplus/spi/filter.h | 51 +++++++++++++++++++++ src/factory.cxx | 2 + src/filter.cxx | 82 ++++++++++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) diff --git a/include/log4cplus/spi/filter.h b/include/log4cplus/spi/filter.h index 0438558a0..b3dab36ce 100644 --- a/include/log4cplus/spi/filter.h +++ b/include/log4cplus/spi/filter.h @@ -303,6 +303,57 @@ namespace log4cplus { Function function; }; + class LOG4CPLUS_EXPORT NDCMatchFilter : public Filter + { + public: + // ctors + NDCMatchFilter(); + NDCMatchFilter(const log4cplus::helpers::Properties& p); + + /** + * Returns {@link #NEUTRAL} is there is no string match. + */ + virtual FilterResult decide(const InternalLoggingEvent& event) const; + + private: + // Methods + LOG4CPLUS_PRIVATE void init(); + + // Data + /** Do we return ACCEPT when a match occurs. Default is true. */ + bool acceptOnMatch; + /** return NEUTRAL if NDC::get() is empty or ndcToMatch is empty. Default is true. */ + bool neutralOnEmpty; + log4cplus::tstring ndcToMatch; + }; + + class LOG4CPLUS_EXPORT MDCMatchFilter : public Filter + { + public: + // ctors + MDCMatchFilter(); + MDCMatchFilter(const log4cplus::helpers::Properties& p); + + /** + * Returns {@link #NEUTRAL} is there is no string match. + */ + virtual FilterResult decide(const InternalLoggingEvent& event) const; + + private: + // Methods + LOG4CPLUS_PRIVATE void init(); + + // Data + /** Do we return ACCEPT when a match occurs. Default is true. */ + bool acceptOnMatch; + /** return NEUTRAL if mdcKeyToMatch is empty or event::getMDC(mdcKeyValue) is empty or mdcToMatch is empty. Default is true. */ + bool neutralOnEmpty; + /** The MDC key to retrieve **/ + log4cplus::tstring mdcKeyToMatch; + /** the MDC value to match **/ + log4cplus::tstring mdcValueToMatch; + }; + } // end namespace spi } // end namespace log4cplus diff --git a/src/factory.cxx b/src/factory.cxx index d2cf90a1c..3a8f92638 100644 --- a/src/factory.cxx +++ b/src/factory.cxx @@ -205,6 +205,8 @@ void initializeFactoryRegistry() LOG4CPLUS_REG_FILTER (reg3, LogLevelMatchFilter); LOG4CPLUS_REG_FILTER (reg3, LogLevelRangeFilter); LOG4CPLUS_REG_FILTER (reg3, StringMatchFilter); + LOG4CPLUS_REG_FILTER (reg3, NDCMatchFilter); + LOG4CPLUS_REG_FILTER (reg3, MDCMatchFilter); spi::LocaleFactoryRegistry& reg4 = spi::getLocaleFactoryRegistry(); DisableFactoryLocking dfl_reg4 (reg4); diff --git a/src/filter.cxx b/src/filter.cxx index cd0c1b5bb..17edabeea 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -273,6 +273,88 @@ FunctionFilter::decide(const InternalLoggingEvent& event) const return function (event); } +// +// NDC Match filter +// +NDCMatchFilter::NDCMatchFilter() +{ + init(); +} + +NDCMatchFilter::NDCMatchFilter(const helpers::Properties& properties) +{ + init(); + + properties.getBool (acceptOnMatch,LOG4CPLUS_TEXT("AcceptOnMatch")); + properties.getBool (neutralOnEmpty,LOG4CPLUS_TEXT("NeutralOnEmpty")); + ndcToMatch = properties.getProperty(LOG4CPLUS_TEXT("NDCToMatch")); +} + + +void NDCMatchFilter::init() +{ + acceptOnMatch = true; + neutralOnEmpty = true; +} + + +FilterResult NDCMatchFilter::decide(const InternalLoggingEvent& event) const +{ + const tstring& ndcStr = event.getNDC(); + + if(neutralOnEmpty && (ndcToMatch.empty () || ndcStr.empty())) + { + return NEUTRAL; + } + + if(ndcStr.compare(ndcToMatch) == 0) + return (acceptOnMatch ? ACCEPT : DENY); + + return (acceptOnMatch ? DENY : ACCEPT); +} + +// +// MDC Match filter +// +MDCMatchFilter::MDCMatchFilter() +{ + init(); +} + +MDCMatchFilter::MDCMatchFilter(const helpers::Properties& properties) +{ + init(); + + properties.getBool (acceptOnMatch,LOG4CPLUS_TEXT("AcceptOnMatch")); + properties.getBool (neutralOnEmpty,LOG4CPLUS_TEXT("NeutralOnEmpty")); + mdcValueToMatch = properties.getProperty(LOG4CPLUS_TEXT("MDCValueToMatch")); + mdcKeyToMatch = properties.getProperty(LOG4CPLUS_TEXT("MDCKeyToMatch")); +} + + +void MDCMatchFilter::init() +{ + acceptOnMatch = true; + neutralOnEmpty = true; +} + + +FilterResult MDCMatchFilter::decide(const InternalLoggingEvent& event) const +{ + if(neutralOnEmpty && (mdcKeyToMatch.empty() || mdcValueToMatch.empty())) + return NEUTRAL; + + const tstring mdcStr = event.getMDC(mdcKeyToMatch); + + if(neutralOnEmpty && mdcStr.empty()) + return NEUTRAL; + + if(mdcStr.compare(mdcValueToMatch) == 0) + return (acceptOnMatch ? ACCEPT : DENY); + + return (acceptOnMatch ? DENY : ACCEPT); +} + #if defined (LOG4CPLUS_WITH_UNIT_TESTS) CATCH_TEST_CASE ("Filter", "[filter]") From 4d0e9d3c69dc66e03e5cb06db44a3ad5f404a53e Mon Sep 17 00:00:00 2001 From: Franck Date: Thu, 20 Sep 2018 12:52:24 +0200 Subject: [PATCH 034/353] Added comment for Doxygen and Unit test cases --- include/log4cplus/spi/filter.h | 48 +++++++- src/filter.cxx | 215 +++++++++++++++++++++++++++++++++ 2 files changed, 261 insertions(+), 2 deletions(-) diff --git a/include/log4cplus/spi/filter.h b/include/log4cplus/spi/filter.h index b3dab36ce..e778c75ac 100644 --- a/include/log4cplus/spi/filter.h +++ b/include/log4cplus/spi/filter.h @@ -303,6 +303,28 @@ namespace log4cplus { Function function; }; + /** + * This is a simple filter based on the string returned by event.getNDC(). + * + * The filter admits three options NeutralOnEmpty, NDCToMatch + * and AcceptOnMatch. + * + * If NeutralOnEmpty is true and NDCToMatch is empty + * then {@link #NEUTRAL} is returned. + * + * If NeutralOnEmpty is true and the value returned by event.getNDC() is empty + * then {@link #NEUTRAL} is returned. + * + * If the string returned by event.getNDC() matches NDCToMatch, then if + * AcceptOnMatch is true, {@link #ACCEPT} is returned, and if + * AcceptOnMatch is false, {@link #DENY} is returned. + * + * If the string returned by event.getNDC() does not match NDCToMatch, then if + * AcceptOnMatch is true, {@link #DENY} is returned, and if + * AcceptOnMatch is false, {@link #ACCEPT} is returned. + * + */ + class LOG4CPLUS_EXPORT NDCMatchFilter : public Filter { public: @@ -322,11 +344,33 @@ namespace log4cplus { // Data /** Do we return ACCEPT when a match occurs. Default is true. */ bool acceptOnMatch; - /** return NEUTRAL if NDC::get() is empty or ndcToMatch is empty. Default is true. */ + /** return NEUTRAL if event.getNDC() is empty or ndcToMatch is empty. Default is true. */ bool neutralOnEmpty; log4cplus::tstring ndcToMatch; }; + /** + * This is a simple filter based on the key/value pair stored in MDC. + * + * The filter admits four options NeutralOnEmpty, MDCKeyToMatch + * MDCValueToMatch and AcceptOnMatch. + * + * If NeutralOnEmpty is true and MDCKeyToMatch or MDCValueToMatch + * is empty then {@link #NEUTRAL} is returned. + * + * If NeutralOnEmpty is true and the string returned by event.getMDC(MDCKeyToMatch) is empty + * then {@link #NEUTRAL} is returned. + * + * If the string returned by event.getMDC(MDCKeyToMatch) matches MDCValueToMatch, then if + * AcceptOnMatch is true, {@link #ACCEPT} is returned, and if + * AcceptOnMatch is false, {@link #DENY} is returned. + * + * If the string returned by event.getMDC(MDCKeyToMatch) does not match MDCValueToMatch, then if + * AcceptOnMatch is true, {@link #DENY} is returned, and if + * AcceptOnMatch is false, {@link #ACCEPT} is returned. + * + */ + class LOG4CPLUS_EXPORT MDCMatchFilter : public Filter { public: @@ -346,7 +390,7 @@ namespace log4cplus { // Data /** Do we return ACCEPT when a match occurs. Default is true. */ bool acceptOnMatch; - /** return NEUTRAL if mdcKeyToMatch is empty or event::getMDC(mdcKeyValue) is empty or mdcToMatch is empty. Default is true. */ + /** return NEUTRAL if mdcKeyToMatch is empty or event::getMDC(mdcKeyValue) is empty or mdcValueToMatch is empty. Default is true. */ bool neutralOnEmpty; /** The MDC key to retrieve **/ log4cplus::tstring mdcKeyToMatch; diff --git a/src/filter.cxx b/src/filter.cxx index 17edabeea..847af7066 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -27,6 +27,8 @@ #if defined (LOG4CPLUS_WITH_UNIT_TESTS) #include +#include +#include #include #endif @@ -496,6 +498,219 @@ CATCH_TEST_CASE ("Filter", "[filter]") CATCH_REQUIRE (filter->decide (info_ev) == ACCEPT); CATCH_REQUIRE (filter->decide (debug_ev) == DENY); } + + + CATCH_SECTION ("ndc match filter") + { + InternalLoggingEvent ndc_error_ev (log.getName (), ERROR_LOG_LEVEL, + LOG4CPLUS_C_STR_TO_TSTRING (LOG4CPLUS_TEXT ("NDC error log message")), __FILE__, __LINE__); + + CATCH_SECTION ("NeutralOnEmpty is true") + { + CATCH_SECTION ("string to match is empty, is neutral") + { + filter = new NDCMatchFilter; + CATCH_REQUIRE (filter->decide (ndc_error_ev) == NEUTRAL); + } + + CATCH_SECTION ("ndc string empty, is neutral") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("ndc-match")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == NEUTRAL); + } + + CATCH_SECTION ("ndc string match, is accept") + { + log4cplus::NDC().push(LOG4CPLUS_TEXT ("ndc-match")); + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("ndc-match")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + log4cplus::NDC().pop_void(); + } + + CATCH_SECTION ("ndc string mismatch, is deny") + { + log4cplus::NDC().push(LOG4CPLUS_TEXT ("ndc-match")); + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("no-match")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + log4cplus::NDC().pop_void(); + } + + + CATCH_SECTION ("ndc string match, AcceptOnMatch false, is deny") + { + log4cplus::NDC().push(LOG4CPLUS_TEXT ("ndc-match")); + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("ndc-match")); + props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), + LOG4CPLUS_TEXT ("False")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + log4cplus::NDC().pop_void(); + } + + CATCH_SECTION ("ndc string mismatch, AcceptOnMatch false, is accept") + { + log4cplus::NDC().push(LOG4CPLUS_TEXT ("ndc-match")); + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("no-match")); + props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), + LOG4CPLUS_TEXT ("False")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + log4cplus::NDC().pop_void(); + } + } + + CATCH_SECTION ("NeutralOnEmpty is false") + { + CATCH_SECTION ("ndc string empty, ndc to match empty is accept") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), + LOG4CPLUS_TEXT ("False")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + } + + CATCH_SECTION ("ndc string empty, match not empty is deny") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), + LOG4CPLUS_TEXT ("False")); + props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), + LOG4CPLUS_TEXT ("ndc-match")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + } + + CATCH_SECTION ("ndc string no empty, match empty is deny") + { + log4cplus::NDC().push(LOG4CPLUS_TEXT ("ndc-match")); + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), + LOG4CPLUS_TEXT ("False")); + filter = new NDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + log4cplus::NDC().pop_void(); + } + } + } + + CATCH_SECTION ("mdc match filter") + { + InternalLoggingEvent mdc_error_ev (log.getName (), ERROR_LOG_LEVEL, + LOG4CPLUS_C_STR_TO_TSTRING (LOG4CPLUS_TEXT ("MDC error log message")), __FILE__, __LINE__); + + CATCH_SECTION ("NeutralOnEmpty is true") + { + CATCH_SECTION ("MDCKeyToMatch is empty, is neutral") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == NEUTRAL); + } + + CATCH_SECTION ("MDCValueToMatch empty, is neutral") + { + log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); + filter = new MDCMatchFilter; + CATCH_REQUIRE (filter->decide (mdc_error_ev) == NEUTRAL); + log4cplus::MDC().clear(); + } + + CATCH_SECTION ("MDC Key/Values match, is accept") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + props.setProperty (LOG4CPLUS_TEXT ("MDCKeyToMatch"), + LOG4CPLUS_TEXT ("KeyToMatch")); + log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + log4cplus::MDC().clear(); + } + + CATCH_SECTION ("MDC Values mismatch, is deny") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + props.setProperty (LOG4CPLUS_TEXT ("MDCKeyToMatch"), + LOG4CPLUS_TEXT ("KeyToMatch")); + log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-no-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + log4cplus::MDC().clear(); + } + + CATCH_SECTION ("AcceptOnMatch is false, MDC Key/Values match, is deny") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), + LOG4CPLUS_TEXT ("False")); + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + props.setProperty (LOG4CPLUS_TEXT ("MDCKeyToMatch"), + LOG4CPLUS_TEXT ("KeyToMatch")); + log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + log4cplus::MDC().clear(); + } + + CATCH_SECTION ("AcceptOnmatch is false MDC Values mismatch, is accept") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), + LOG4CPLUS_TEXT ("False")); + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + props.setProperty (LOG4CPLUS_TEXT ("MDCKeyToMatch"), + LOG4CPLUS_TEXT ("KeyToMatch")); + log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-no-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + log4cplus::MDC().clear(); + } + } + + CATCH_SECTION ("NeutralOnEmpty is false") + { + CATCH_SECTION ("mdc key/value empty, MDC value to match empty is accept") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), + LOG4CPLUS_TEXT ("False")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + } + + CATCH_SECTION ("mdc key/value empty, MDC value to match not empty is deny") + { + helpers::Properties props; + props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), + LOG4CPLUS_TEXT ("False")); + props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), + LOG4CPLUS_TEXT ("mdc-match")); + filter = new MDCMatchFilter(props); + CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + } + } + } } #endif From 793995c277245010a1bf9a8bb1da480592e93066 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 25 Oct 2018 22:45:01 +0200 Subject: [PATCH 035/353] Update config.{guess,sub}. --- config.guess | 120 +-- config.sub | 2455 +++++++++++++++++++++++++------------------------- 2 files changed, 1287 insertions(+), 1288 deletions(-) diff --git a/config.guess b/config.guess index 256083a70..b33c9e890 100755 --- a/config.guess +++ b/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2018-03-08' +timestamp='2018-08-29' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -84,8 +84,6 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,39 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > "$dummy.c" ; - for c in cc gcc c89 c99 ; do - if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 +trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 + +set_cc_for_build() { + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -138,7 +141,7 @@ Linux|GNU|GNU/*) # We could probably try harder. LIBC=gnu - eval "$set_cc_for_build" + set_cc_for_build cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) @@ -199,7 +202,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval "$set_cc_for_build" + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -237,7 +240,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi}" + echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -389,20 +392,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval "$set_cc_for_build" - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + case `isainfo -b` in + 32) + echo i386-pc-solaris2"$UNAME_REL" + ;; + 64) + echo x86_64-pc-solaris2"$UNAME_REL" + ;; + esac exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -482,7 +480,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ @@ -579,7 +577,7 @@ EOF exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include @@ -660,7 +658,7 @@ EOF esac fi if [ "$HP_ARCH" = "" ]; then - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE @@ -700,7 +698,7 @@ EOF esac if [ "$HP_ARCH" = hppa2.0w ] then - eval "$set_cc_for_build" + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -726,7 +724,7 @@ EOF echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int @@ -840,6 +838,17 @@ EOF *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi + exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in @@ -894,8 +903,8 @@ EOF # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - i*86:Minix:*:*) - echo "$UNAME_MACHINE"-pc-minix + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -922,7 +931,7 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then @@ -971,7 +980,7 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} @@ -1285,7 +1294,7 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval "$set_cc_for_build" + set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi @@ -1358,6 +1367,7 @@ EOF # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else diff --git a/config.sub b/config.sub index 9ccf09a7a..f208558ec 100755 --- a/config.sub +++ b/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2018-03-08' +timestamp='2018-08-29' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -89,7 +89,7 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) @@ -110,1223 +110,1159 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo "$1" | sed 's/-[^-]*$//'` - if [ "$basic_machine" != "$1" ] - then os=`echo "$1" | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +IFS="-" read -r field1 field2 field3 field4 <&2 + exit 1 ;; - -lynx*) - os=-lynxos + *-*-*-*) + basic_machine=$field1-$field2 + os=$field3-$field4 ;; - -ptx*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ + | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + os=linux-android + ;; + *) + basic_machine=$field1-$field2 + os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + os= + ;; + *) + basic_machine=$field1 + os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + os=bsd + ;; + a29khif) + basic_machine=a29k-amd + os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=scout + ;; + alliant) + basic_machine=fx80-alliant + os= + ;; + altos | altos3068) + basic_machine=m68k-altos + os= + ;; + am29k) + basic_machine=a29k-none + os=bsd + ;; + amdahl) + basic_machine=580-amdahl + os=sysv + ;; + amiga) + basic_machine=m68k-unknown + os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=bsd + ;; + aros) + basic_machine=i386-pc + os=aros + ;; + aux) + basic_machine=m68k-apple + os=aux + ;; + balance) + basic_machine=ns32k-sequent + os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=linux + ;; + cegcc) + basic_machine=arm-unknown + os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=bsd + ;; + convex-c2) + basic_machine=c2-convex + os=bsd + ;; + convex-c32) + basic_machine=c32-convex + os=bsd + ;; + convex-c34) + basic_machine=c34-convex + os=bsd + ;; + convex-c38) + basic_machine=c38-convex + os=bsd + ;; + cray) + basic_machine=j90-cray + os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + os= + ;; + da30) + basic_machine=m68k-da30 + os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + os= + ;; + delta88) + basic_machine=m88k-motorola + os=sysv3 + ;; + dicos) + basic_machine=i686-pc + os=dicos + ;; + djgpp) + basic_machine=i586-pc + os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=ose + ;; + gmicro) + basic_machine=tron-gmicro + os=sysv + ;; + go32) + basic_machine=i386-pc + os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=hms + ;; + harris) + basic_machine=m88k-harris + os=sysv3 + ;; + hp300) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=hpux + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=proelf + ;; + i386mach) + basic_machine=i386-mach + os=mach + ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; + isi68 | isi) + basic_machine=m68k-isi + os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=sysv + ;; + merlin) + basic_machine=ns32k-utek + os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + os=coff + ;; + morphos) + basic_machine=powerpc-unknown + os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=moxiebox + ;; + msdos) + basic_machine=i386-pc + os=msdos + ;; + msys) + basic_machine=i686-pc + os=msys + ;; + mvs) + basic_machine=i370-ibm + os=mvs + ;; + nacl) + basic_machine=le32-unknown + os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=newsos + ;; + news1000) + basic_machine=m68030-sony + os=newsos + ;; + necv70) + basic_machine=v70-nec + os=sysv + ;; + nh3000) + basic_machine=m68k-harris + os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=cxux + ;; + nindy960) + basic_machine=i960-intel + os=nindy + ;; + mon960) + basic_machine=i960-intel + os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=ose + ;; + os68k) + basic_machine=m68k-none + os=os68k + ;; + paragon) + basic_machine=i860-intel + os=osf + ;; + parisc) + basic_machine=hppa-unknown + os=linux + ;; + pw32) + basic_machine=i586-unknown + os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=rdos + ;; + rdos32) + basic_machine=i386-pc + os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=coff + ;; + sa29200) + basic_machine=a29k-amd + os=udi + ;; + sei) + basic_machine=mips-sei + os=seiux + ;; + sequent) + basic_machine=i386-sequent + os= + ;; + sps7) + basic_machine=m68k-bull + os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + os= + ;; + stratus) + basic_machine=i860-stratus + os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + os= + ;; + sun2os3) + basic_machine=m68000-sun + os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + os= + ;; + sun3os3) + basic_machine=m68k-sun + os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + os= + ;; + sun4os3) + basic_machine=sparc-sun + os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + os= + ;; + sv1) + basic_machine=sv1-cray + os=unicos + ;; + symmetry) + basic_machine=i386-sequent + os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=unicos + ;; + t90) + basic_machine=t90-cray + os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + os=tpf + ;; + udi29k) + basic_machine=a29k-amd + os=udi + ;; + ultra3) + basic_machine=a29k-nyu + os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=none + ;; + vaxv) + basic_machine=vax-dec + os=sysv + ;; + vms) + basic_machine=vax-dec + os=vms + ;; + vxworks960) + basic_machine=i960-wrs + os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=vxworks + ;; + xbox) + basic_machine=i686-pc + os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + os=unicos + ;; + *) + basic_machine=$1 + os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-pc - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx + cpu=m68k + vendor=motorola ;; dpx2*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + cpu=m68k + vendor=bull + os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + os=${os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv32 ;; i*86v4*) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv4 ;; i*86v) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv ;; i*86sol2) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-solaris2 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=solaris2 ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + os=${os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi + cpu=mips + vendor=sgi case $os in - -irix*) + irix*) ;; *) - os=-irix4 + os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl + cpu=m68000 + vendor=convergent ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv + cpu=mips + vendor=sony + os=newsos ;; next | m*-next) - basic_machine=m68k-next + cpu=m68k + vendor=next case $os in - -nextstep* ) + nextstep* ) ;; - -ns2*) - os=-nextstep2 + ns2*) + os=nextstep2 ;; *) - os=-nextstep3 + os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsv-tandem) - basic_machine=nsv-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` + cpu=m68k + vendor=tti ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` + cpu=pn + vendor=gould ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown + power) + cpu=power + vendor=ibm ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown + ps2) + cpu=i386 + vendor=ibm ;; - ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` + rm[46]00) + cpu=mips + vendor=siemens ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown + rtpc | rtpc-*) + cpu=romp + vendor=ibm ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` + sde) + cpu=mipsisa32 + vendor=sde + os=${os:-elf} ;; - ps2) - basic_machine=i386-ibm + simso-wrs) + cpu=sparclite + vendor=wrs + os=vxworks ;; - pw32) - basic_machine=i586-unknown - os=-pw32 + tower | tower-32) + cpu=m68k + vendor=ncr ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - rdos32) - basic_machine=i386-pc - os=-rdos + w65) + cpu=w65 + vendor=wdc ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + w89k-*) + cpu=hppa1.1 + vendor=winbond + os=proelf ;; - rm[46]00) - basic_machine=mips-siemens + none) + cpu=none + vendor=none ;; - rtpc | rtpc-*) - basic_machine=romp-ibm + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - s390 | s390-*) - basic_machine=s390-ibm + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - s390x | s390x-*) - basic_machine=s390x-ibm + + *-*) + IFS="-" read -r cpu vendor <&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | wasm32 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1334,199 +1270,245 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if [ x$os != x ] then case $os in # First match some system type aliases that might get confused # with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + # solaris* is a basic system type, with this one exception. + auroraux) + os=auroraux ;; - -solaris1 | -solaris1.*) + bluegene*) + os=cnk + ;; + solaris1 | solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - -solaris) - os=-solaris2 + solaris) + os=solaris2 ;; - -unixware*) - os=-sysv4.2uw + unixware*) + os=sysv4.2uw ;; - -gnu/linux*) + gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) - -es1800*) - os=-ose + es1800*) + os=ose + ;; + # Some version numbers need modification + chorusos*) + os=chorusos + ;; + isc) + os=isc2.2 + ;; + sco6) + os=sco5v6 + ;; + sco5) + os=sco3.2v5 + ;; + sco4) + os=sco3.2v4 + ;; + sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + ;; + sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + scout) + # Don't match below + ;; + sco*) + os=sco3.2v2 + ;; + psos*) + os=psos ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ - | -midnightbsd*) + # sysv* is not here because it comes later, after sysvr4. + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | kopensolaris* | plan9* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | knetbsd* | mirbsd* | netbsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* \ + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ + | linux-newlib* | linux-musl* | linux-uclibc* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* \ + | morphos* | superux* | rtmk* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) + qnx*) + case $cpu in + x86 | i*86) ;; *) - os=-nto$os + os=nto-$os ;; esac ;; - -nto-qnx*) + hiux*) + os=hiuxwe2 + ;; + nto-qnx*) ;; - -nto*) + nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -sim | -xray | -os68k* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + sim | xray | os68k* | v88r* \ + | windows* | osx | abug | netware* | os9* \ + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) + ;; + linux-dietlibc) + os=linux-dietlibc + ;; + linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + lynx*178) + os=lynxos178 ;; - -mac*) + lynx*5) + os=lynxos5 + ;; + lynx*) + os=lynxos + ;; + mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; - -linux-dietlibc) - os=-linux-dietlibc + opened*) + os=openedition ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` + os400*) + os=os400 ;; - -sunos5*) + sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - -sunos6*) + sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 + wince*) + os=wince ;; - -wince*) - os=-wince + utek*) + os=bsd ;; - -utek*) - os=-bsd + dynix*) + os=bsd ;; - -dynix*) - os=-bsd + acis*) + os=aos ;; - -acis*) - os=-aos + atheos*) + os=atheos ;; - -atheos*) - os=-atheos + syllable*) + os=syllable ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd + 386bsd) + os=bsd ;; - -ctix* | -uts*) - os=-sysv + ctix* | uts*) + os=sysv ;; - -nova*) - os=-rtmk-nova + nova*) + os=rtmk-nova ;; - -ns2) - os=-nextstep2 + ns2) + os=nextstep2 ;; - -nsk*) - os=-nsk + nsk*) + os=nsk ;; # Preserve the version number of sinix5. - -sinix5.*) + sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - -sinix*) - os=-sysv4 + sinix*) + os=sysv4 ;; - -tpf*) - os=-tpf + tpf*) + os=tpf ;; - -triton*) - os=-sysv3 + triton*) + os=sysv3 ;; - -oss*) - os=-sysv3 + oss*) + os=sysv3 ;; - -svr4*) - os=-sysv4 + svr4*) + os=sysv4 ;; - -svr3) - os=-sysv3 + svr3) + os=sysv3 ;; - -sysvr4) - os=-sysv4 + sysvr4) + os=sysv4 ;; - # This must come after -sysvr4. - -sysv*) + # This must come after sysvr4. + sysv*) ;; - -ose*) - os=-ose + ose*) + os=ose ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + os=mint ;; - -zvmoe) - os=-zvmoe + zvmoe) + os=zvmoe ;; - -dicos*) - os=-dicos + dicos*) + os=dicos ;; - -pikeos*) + pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. - case $basic_machine in + case $cpu in arm*) - os=-eabi + os=eabi ;; *) - os=-elf + os=elf ;; esac ;; - -nacl*) + nacl*) ;; - -ios) + ios) ;; - -none) + none) + ;; + *-eabi) ;; *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; @@ -1543,254 +1525,261 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + os=linux ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; *-next) - os=-nextstep + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in - -riscix*) + riscix*) vendor=acorn ;; - -sunos*) + sunos*) vendor=sun ;; - -cnk*|-aix*) + cnk*|-aix*) vendor=ibm ;; - -beos*) + beos*) vendor=be ;; - -hpux*) + hpux*) vendor=hp ;; - -mpeix*) + mpeix*) vendor=hp ;; - -hiux*) + hiux*) vendor=hitachi ;; - -unos*) + unos*) vendor=crds ;; - -dgux*) + dgux*) vendor=dg ;; - -luna*) + luna*) vendor=omron ;; - -genix*) + genix*) vendor=ns ;; - -mvs* | -opened*) + clix*) + vendor=intergraph + ;; + mvs* | opened*) vendor=ibm ;; - -os400*) + os400*) vendor=ibm ;; - -ptx*) + ptx*) vendor=sequent ;; - -tpf*) + tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + vxsim* | vxworks* | windiss*) vendor=wrs ;; - -aux*) + aux*) vendor=apple ;; - -hms*) + hms*) vendor=hitachi ;; - -mpw* | -macos*) + mpw* | macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; - -vos*) + vos*) vendor=stratus ;; esac - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo "$basic_machine$os" +echo "$cpu-$vendor-$os" exit # Local variables: From 47345322fdb85308f42d7857971a7162955df85e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 6 Nov 2018 18:49:35 +0100 Subject: [PATCH 036/353] Update README.md with log4cpus specific installation instructions. --- INSTALL | 6 ++++++ README.md | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/INSTALL b/INSTALL index 007e9396d..9d4287ea9 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,12 @@ Installation Instructions ************************* +See README.md for log4cplus specific instructions. + + +Generic Installation Instructions +********************************* + Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. diff --git a/README.md b/README.md index 1c1c905d6..4960b8b80 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,16 @@ with [log4cplus] 2.x, yet: - AIX 5.3 with IBM XL C/C++ for AIX +Installation instruction +======================== + +Generic Autotools installation instructions are in `INSTALL` file. The +following are [log4cplus] specific instructions. + +[log4cplus] uses Git sub-modules. Always use `--recurse-submodules` option when +doing `git clone`. + + Configure script options ======================== From 2804565d3a7575b8ff914226d4c685dccdcb6e69 Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Sun, 11 Nov 2018 19:25:44 +0100 Subject: [PATCH 037/353] src/clogger.cxx: remove unused local variable Local variable (likely intended for backward compatibility) `initializer` removed to avoid compile warning. Signed-off-by: Jens Rehsack --- src/clogger.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/clogger.cxx b/src/clogger.cxx index b3d297523..bf534f070 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -44,7 +44,6 @@ using namespace log4cplus::helpers; LOG4CPLUS_EXPORT void * log4cplus_initialize(void) { - Initializer * initializer = 0; try { return new Initializer(); From 95824bce462f44e4867da2d08e74173bb7d606e5 Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Mon, 12 Nov 2018 08:43:03 +0100 Subject: [PATCH 038/353] clogger: add reconfigure Allow C-API to reconfigure Hierarchy to avoid collecting appenders when same configuration could be loaded twice. Signed-off-by: Jens Rehsack --- include/log4cplus/clogger.h | 3 ++ src/clogger.cxx | 68 +++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/include/log4cplus/clogger.h b/include/log4cplus/clogger.h index 78e37acbf..55cafad3f 100644 --- a/include/log4cplus/clogger.h +++ b/include/log4cplus/clogger.h @@ -76,8 +76,11 @@ LOG4CPLUS_EXPORT void * log4cplus_initialize(void); LOG4CPLUS_EXPORT int log4cplus_deinitialize(void * initializer); LOG4CPLUS_EXPORT int log4cplus_file_configure(const log4cplus_char_t *pathname); +LOG4CPLUS_EXPORT int log4cplus_file_reconfigure(const log4cplus_char_t *pathname); LOG4CPLUS_EXPORT int log4cplus_str_configure(const log4cplus_char_t *config); +LOG4CPLUS_EXPORT int log4cplus_str_reconfigure(const log4cplus_char_t *config); LOG4CPLUS_EXPORT int log4cplus_basic_configure(void); +LOG4CPLUS_EXPORT int log4cplus_basic_reconfigure(int logToStdErr); LOG4CPLUS_EXPORT void log4cplus_shutdown(void); LOG4CPLUS_EXPORT int log4cplus_logger_exists(const log4cplus_char_t *name); diff --git a/src/clogger.cxx b/src/clogger.cxx index bf534f070..9c089310a 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -93,6 +94,29 @@ log4cplus_file_configure(const log4cplus_char_t *pathname) return 0; } +LOG4CPLUS_EXPORT int +log4cplus_file_reconfigure(const log4cplus_char_t *pathname) +{ + if( !pathname ) + return EINVAL; + + try + { + // lock the DefaultHierarchy + HierarchyLocker theLock(Logger::getDefaultHierarchy()); + + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); + PropertyConfigurator::doConfigure( pathname ); + } + catch(std::exception const &) + { + return -1; + } + + return 0; +} + LOG4CPLUS_EXPORT int log4cplus_str_configure(const log4cplus_char_t *config) { @@ -114,6 +138,31 @@ log4cplus_str_configure(const log4cplus_char_t *config) return 0; } +LOG4CPLUS_EXPORT int +log4cplus_str_reconfigure(const log4cplus_char_t *config) +{ + if( !config ) + return EINVAL; + + try + { + tstring s(config); + tistringstream iss(s); + HierarchyLocker theLock(Logger::getDefaultHierarchy()); + + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); + PropertyConfigurator pc(iss); + pc.configure(); + } + catch(std::exception const &) + { + return -1; + } + + return 0; +} + LOG4CPLUS_EXPORT int log4cplus_basic_configure(void) { @@ -129,6 +178,25 @@ log4cplus_basic_configure(void) return 0; } +LOG4CPLUS_EXPORT int +log4cplus_basic_reconfigure(int logToStdErr) +{ + try + { + HierarchyLocker theLock(Logger::getDefaultHierarchy()); + + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); + BasicConfigurator::doConfigure(Logger::getDefaultHierarchy(), logToStdErr); + } + catch(std::exception const &) + { + return -1; + } + + return 0; +} + LOG4CPLUS_EXPORT void log4cplus_shutdown(void) { From 9bd8a367256bb9fa5c4ea5139028fe3d97b3bca6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Dec 2018 23:24:32 +0100 Subject: [PATCH 039/353] Change LogLevelManager to allow easy registration of custom level. --- Makefile.in | 34 +---- include/log4cplus/loglevel.h | 68 ++++----- src/loglevel.cxx | 142 ++++++++++++------- tests/customloglevel_test/Makefile.am | 1 - tests/customloglevel_test/customloglevel.cxx | 41 ------ tests/customloglevel_test/customloglevel.h | 22 +-- tests/customloglevel_test/func.cxx | 18 +-- tests/customloglevel_test/main.cxx | 5 + 8 files changed, 141 insertions(+), 190 deletions(-) delete mode 100644 tests/customloglevel_test/customloglevel.cxx diff --git a/Makefile.in b/Makefile.in index e5afd74d2..832770713 100644 --- a/Makefile.in +++ b/Makefile.in @@ -470,8 +470,7 @@ configandwatch_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_18 = tests/customloglevel_test/customloglevel.$(OBJEXT) \ - tests/customloglevel_test/func.$(OBJEXT) \ +am__objects_18 = tests/customloglevel_test/func.$(OBJEXT) \ tests/customloglevel_test/main.$(OBJEXT) am_customloglevel_test_OBJECTS = $(am__objects_18) customloglevel_test_OBJECTS = $(am_customloglevel_test_OBJECTS) @@ -480,7 +479,7 @@ customloglevel_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_19 = tests/customloglevel_test/customloglevel_testU-customloglevel.$(OBJEXT) \ +am__objects_19 = \ tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT) \ tests/customloglevel_test/customloglevel_testU-main.$(OBJEXT) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_customloglevel_testU_OBJECTS = \ @@ -883,8 +882,6 @@ am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ tests/appender_test/$(DEPDIR)/main.Po \ tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po \ tests/configandwatch_test/$(DEPDIR)/main.Po \ - tests/customloglevel_test/$(DEPDIR)/customloglevel.Po \ - tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po \ tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po \ tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po \ tests/customloglevel_test/$(DEPDIR)/func.Po \ @@ -1438,7 +1435,6 @@ appender_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDFLAGS = -no-install customloglevel_test_sources = \ - tests/customloglevel_test/customloglevel.cxx \ tests/customloglevel_test/func.cxx \ tests/customloglevel_test/main.cxx @@ -2061,9 +2057,6 @@ tests/customloglevel_test/$(am__dirstamp): tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test/$(DEPDIR) @: > tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) -tests/customloglevel_test/customloglevel.$(OBJEXT): \ - tests/customloglevel_test/$(am__dirstamp) \ - tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) tests/customloglevel_test/func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2074,9 +2067,6 @@ tests/customloglevel_test/main.$(OBJEXT): \ customloglevel_test$(EXEEXT): $(customloglevel_test_OBJECTS) $(customloglevel_test_DEPENDENCIES) $(EXTRA_customloglevel_test_DEPENDENCIES) @rm -f customloglevel_test$(EXEEXT) $(AM_V_CXXLD)$(customloglevel_test_LINK) $(customloglevel_test_OBJECTS) $(customloglevel_test_LDADD) $(LIBS) -tests/customloglevel_test/customloglevel_testU-customloglevel.$(OBJEXT): \ - tests/customloglevel_test/$(am__dirstamp) \ - tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2537,8 +2527,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@tests/appender_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/configandwatch_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/func.Po@am__quote@ # am--include-marker @@ -3430,20 +3418,6 @@ tests/configandwatch_test/configandwatch_testU-main.obj: tests/configandwatch_te @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/configandwatch_test/configandwatch_testU-main.obj `if test -f 'tests/configandwatch_test/main.cxx'; then $(CYGPATH_W) 'tests/configandwatch_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/configandwatch_test/main.cxx'; fi` -tests/customloglevel_test/customloglevel_testU-customloglevel.o: tests/customloglevel_test/customloglevel.cxx -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_testU-customloglevel.o -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Tpo -c -o tests/customloglevel_test/customloglevel_testU-customloglevel.o `test -f 'tests/customloglevel_test/customloglevel.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/customloglevel.cxx -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/customloglevel.cxx' object='tests/customloglevel_test/customloglevel_testU-customloglevel.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_testU-customloglevel.o `test -f 'tests/customloglevel_test/customloglevel.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/customloglevel.cxx - -tests/customloglevel_test/customloglevel_testU-customloglevel.obj: tests/customloglevel_test/customloglevel.cxx -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_testU-customloglevel.obj -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Tpo -c -o tests/customloglevel_test/customloglevel_testU-customloglevel.obj `if test -f 'tests/customloglevel_test/customloglevel.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/customloglevel.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/customloglevel.cxx'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/customloglevel.cxx' object='tests/customloglevel_test/customloglevel_testU-customloglevel.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_testU-customloglevel.obj `if test -f 'tests/customloglevel_test/customloglevel.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/customloglevel.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/customloglevel.cxx'; fi` - tests/customloglevel_test/customloglevel_testU-func.o: tests/customloglevel_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_testU-func.o -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Tpo -c -o tests/customloglevel_test/customloglevel_testU-func.o `test -f 'tests/customloglevel_test/func.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po @@ -4088,8 +4062,6 @@ distclean: distclean-recursive -rm -f tests/appender_test/$(DEPDIR)/main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/main.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po -rm -f tests/customloglevel_test/$(DEPDIR)/func.Po @@ -4291,8 +4263,6 @@ maintainer-clean: maintainer-clean-recursive -rm -f tests/appender_test/$(DEPDIR)/main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/main.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-customloglevel.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po -rm -f tests/customloglevel_test/$(DEPDIR)/func.Po diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index 92cbcbc6e..72b01b33c 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -33,6 +33,7 @@ #endif #include +#include #include @@ -96,22 +97,26 @@ namespace log4cplus { /** - * This method type defined the signature of methods that convert LogLevels - * into strings. - * - * Note: Must return an empty tstring for unrecognized values. + * This is a base class used by `LogLevelManager` to translate between + * numeric `LogLevel` and log level name. */ - typedef log4cplus::tstring const & (*LogLevelToStringMethod)(LogLevel); - + class LOG4CPLUS_EXPORT LogLevelTranslator { + public: + LogLevelTranslator (); + virtual ~LogLevelTranslator () = 0; - /** - * This method type defined the signature of methods that convert strings - * into LogLevels. - * - * Note: Must return NOT_SET_LOG_LEVEL for unrecognized values. - */ - typedef LogLevel (*StringToLogLevelMethod)(const log4cplus::tstring&); + /** + * This method is called by all `LogLevelManager` classes to convert a + * `LogLevel` into a string. + */ + virtual log4cplus::tstring const & toString (LogLevel ll) const = 0; + /** + * This method is called by `LogLevelManager` to convert a string into + * a `LogLevel`. + */ + virtual LogLevel fromString (const log4cplus::tstring_view& arg) const = 0; + }; /** @@ -150,41 +155,16 @@ namespace log4cplus { */ LogLevel fromString(const log4cplus::tstring_view& arg) const; - /** - * When creating a "derived" LogLevel, a LogLevelToStringMethod - * should be defined and registered with the LogLevelManager by calling - * this method. - * - * @see pushFromStringMethod - */ - void pushToStringMethod(LogLevelToStringMethod newToString); - /** - * When creating a "derived" LogLevel, a StringToLogLevelMethod - * should be defined and registered with the LogLevelManager by calling - * this method. - * - * @see pushToStringMethod - */ - void pushFromStringMethod(StringToLogLevelMethod newFromString); + void pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name); - private: - // Data - struct LogLevelToStringMethodRec - { - LogLevelToStringMethodRec (); - LogLevelToStringMethodRec (LogLevelToStringMethod); - - LogLevelToStringMethod func; - }; + void pushLogLevelTranslator(std::unique_ptr); - typedef std::vector LogLevelToStringMethodList; - LogLevelToStringMethodList toStringMethods; - - typedef std::vector StringToLogLevelMethodList; - StringToLogLevelMethodList fromStringMethods; + private: + typedef std::vector> LogLevelTranslatorList; + LogLevelTranslatorList translator_list; - // Disable Copy + // Disable Copy LogLevelManager(const LogLevelManager&); LogLevelManager& operator=(const LogLevelManager&); }; diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 022289cbc..785776ce3 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -29,6 +29,15 @@ namespace log4cplus { +LogLevelTranslator::LogLevelTranslator () +{ } + +LogLevelTranslator::~LogLevelTranslator () +{ } + + + + namespace { @@ -44,11 +53,21 @@ static tstring const NOTSET_STRING (LOG4CPLUS_TEXT("NOTSET")); static tstring const UNKNOWN_STRING (LOG4CPLUS_TEXT("UNKNOWN")); -static -tstring const & -defaultLogLevelToStringMethod(LogLevel ll) +class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator + : virtual public LogLevelTranslator { - switch(ll) { +public: + DefaultLogLevelTranslator () + { } + + virtual ~DefaultLogLevelTranslator () + { } + + virtual + log4cplus::tstring const & + toString (LogLevel ll) const + { + switch(ll) { case OFF_LOG_LEVEL: return OFF_STRING; case FATAL_LOG_LEVEL: return FATAL_STRING; case ERROR_LOG_LEVEL: return ERROR_STRING; @@ -58,21 +77,20 @@ defaultLogLevelToStringMethod(LogLevel ll) case TRACE_LOG_LEVEL: return TRACE_STRING; //case ALL_LOG_LEVEL: return ALL_STRING; case NOT_SET_LOG_LEVEL: return NOTSET_STRING; - }; - - return internal::empty_str; -} + } + return internal::empty_str; + } -static -LogLevel -defaultStringToLogLevelMethod(const tstring& s) -{ - // Since C++11, accessing str[0] is always safe as it returns '\0' for - // empty string. - - switch (s[0]) + virtual + LogLevel + fromString (const log4cplus::tstring_view& s) const { + // Since C++11, accessing str[0] is always safe as it returns '\0' for + // empty string. + + switch (s[0]) + { #define DEF_LLMATCH(_chr, _logLevel) \ case LOG4CPLUS_TEXT (_chr): \ if (s == _logLevel ## _STRING) \ @@ -80,20 +98,59 @@ defaultStringToLogLevelMethod(const tstring& s) else \ break; - DEF_LLMATCH ('O', OFF); - DEF_LLMATCH ('F', FATAL); - DEF_LLMATCH ('E', ERROR); - DEF_LLMATCH ('W', WARN); - DEF_LLMATCH ('I', INFO); - DEF_LLMATCH ('D', DEBUG); - DEF_LLMATCH ('T', TRACE); - DEF_LLMATCH ('A', ALL); + DEF_LLMATCH ('O', OFF); + DEF_LLMATCH ('F', FATAL); + DEF_LLMATCH ('E', ERROR); + DEF_LLMATCH ('W', WARN); + DEF_LLMATCH ('I', INFO); + DEF_LLMATCH ('D', DEBUG); + DEF_LLMATCH ('T', TRACE); + DEF_LLMATCH ('A', ALL); #undef DEF_LLMATCH + } + + return NOT_SET_LOG_LEVEL; } +}; - return NOT_SET_LOG_LEVEL; -} + +class LOG4CPLUS_PRIVATE SingleLogLevelTranslator + : virtual public LogLevelTranslator +{ +public: + SingleLogLevelTranslator (LogLevel ll, const log4cplus::tstring_view & name_) + : log_level (ll) + , name (name_) + { } + + virtual ~SingleLogLevelTranslator () + { } + + virtual + log4cplus::tstring const & + toString (LogLevel ll) const + { + if (ll == log_level) + return name; + else + return internal::empty_str; + } + + virtual + LogLevel + fromString (const log4cplus::tstring_view& s) const + { + if (s == name) + return log_level; + else + return NOT_SET_LOG_LEVEL; + } + +protected: + LogLevel log_level; + log4cplus::tstring name; +}; } // namespace @@ -105,9 +162,7 @@ defaultStringToLogLevelMethod(const tstring& s) LogLevelManager::LogLevelManager() { - pushToStringMethod (defaultLogLevelToStringMethod); - - pushFromStringMethod (defaultStringToLogLevelMethod); + pushLogLevelTranslator (std::unique_ptr(new DefaultLogLevelTranslator ())); } @@ -123,9 +178,9 @@ LogLevelManager::~LogLevelManager() tstring const & LogLevelManager::toString(LogLevel ll) const { - for (LogLevelToStringMethodRec const & rec : toStringMethods) + for (auto & ptr : translator_list) { - tstring const & ret = rec.func (ll); + tstring const & ret = ptr->toString (ll); if (! ret.empty ()) return ret; } @@ -139,9 +194,9 @@ LogLevelManager::fromString(const tstring_view& arg) const { tstring const s = helpers::toUpper(arg); - for (auto func : fromStringMethods) + for (auto & ptr : translator_list) { - LogLevel ret = func (s); + LogLevel ret = ptr->fromString (s); if (ret != NOT_SET_LOG_LEVEL) return ret; } @@ -155,31 +210,18 @@ LogLevelManager::fromString(const tstring_view& arg) const void -LogLevelManager::pushToStringMethod(LogLevelToStringMethod newToString) +LogLevelManager::pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name) { - toStringMethods.emplace (toStringMethods.begin (), newToString); + pushLogLevelTranslator (std::make_unique(ll, name)); } void -LogLevelManager::pushFromStringMethod(StringToLogLevelMethod newFromString) +LogLevelManager::pushLogLevelTranslator(std::unique_ptr translator) { - fromStringMethods.push_back (newFromString); + translator_list.emplace_back (std::move (translator)); } -// -// -// - -LogLevelManager::LogLevelToStringMethodRec::LogLevelToStringMethodRec () -{ } - - -LogLevelManager::LogLevelToStringMethodRec::LogLevelToStringMethodRec ( - LogLevelToStringMethod f) - : func {f} -{ } - } // namespace log4cplus diff --git a/tests/customloglevel_test/Makefile.am b/tests/customloglevel_test/Makefile.am index f16e1559d..9bab87408 100644 --- a/tests/customloglevel_test/Makefile.am +++ b/tests/customloglevel_test/Makefile.am @@ -3,7 +3,6 @@ noinst_PROGRAMS += customloglevel_test customloglevel_test_sources = \ - %D%/customloglevel.cxx \ %D%/func.cxx \ %D%/main.cxx diff --git a/tests/customloglevel_test/customloglevel.cxx b/tests/customloglevel_test/customloglevel.cxx deleted file mode 100644 index 33607637d..000000000 --- a/tests/customloglevel_test/customloglevel.cxx +++ /dev/null @@ -1,41 +0,0 @@ - -#include "customloglevel.h" - -static log4cplus::tstring const CRITICAL_STRING (LOG4CPLUS_TEXT("CRITICAL")); -static log4cplus::tstring const empty_str; - - -static -tstring const & -criticalToStringMethod(LogLevel ll) -{ - if(ll == CRITICAL_LOG_LEVEL) { - return CRITICAL_STRING; - } - else { - return empty_str; - } -} - - -static -LogLevel -criticalFromStringMethod(const tstring& s) -{ - if(s == CRITICAL_STRING) return CRITICAL_LOG_LEVEL; - - return NOT_SET_LOG_LEVEL; -} - - - -class CriticalLogLevelInitializer { -public: - CriticalLogLevelInitializer() { - getLogLevelManager().pushToStringMethod(criticalToStringMethod); - getLogLevelManager().pushFromStringMethod(criticalFromStringMethod); - } -}; - -CriticalLogLevelInitializer criticalLogLevelInitializer_; - diff --git a/tests/customloglevel_test/customloglevel.h b/tests/customloglevel_test/customloglevel.h index 1e47c2bbc..87def9e7c 100644 --- a/tests/customloglevel_test/customloglevel.h +++ b/tests/customloglevel_test/customloglevel.h @@ -1,17 +1,17 @@ +// -*- C++ -*- +#ifndef CUSTOMLOGLEVEL_HEADER +#define CUSTOMLOGLEVEL_HEADER -#include -#include +#include +#include -using namespace log4cplus; -using namespace log4cplus::helpers; +const log4cplus::LogLevel CRITICAL_LOG_LEVEL = 45000; -const LogLevel CRITICAL_LOG_LEVEL = 45000; - -#define LOG4CPLUS_CRITICAL(logger, logEvent) \ - if(logger.isEnabledFor(CRITICAL_LOG_LEVEL)) { \ - log4cplus::tostringstream _log4cplus_buf; \ - _log4cplus_buf << logEvent; \ +#define LOG4CPLUS_CRITICAL(logger, logEvent) \ + if(logger.isEnabledFor(CRITICAL_LOG_LEVEL)) { \ + log4cplus::tostringstream _log4cplus_buf; \ + _log4cplus_buf << logEvent; \ logger.forcedLog(CRITICAL_LOG_LEVEL, _log4cplus_buf.str(), __FILE__, __LINE__); \ } - +#endif // CUSTOMLOGLEVEL_HEADER diff --git a/tests/customloglevel_test/func.cxx b/tests/customloglevel_test/func.cxx index 74342225b..711e0c1e0 100644 --- a/tests/customloglevel_test/func.cxx +++ b/tests/customloglevel_test/func.cxx @@ -1,21 +1,17 @@ - #include "customloglevel.h" #include +#include -using namespace log4cplus; -using namespace log4cplus::helpers; void -writeLogMessage() +writeLogMessage() { { - Logger subTest = Logger::getInstance(LOG4CPLUS_TEXT("test.subtest")); - subTest.log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Entering writeLogMessage()...")); - LOG4CPLUS_CRITICAL(subTest, + log4cplus::Logger subTest = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("test.subtest")); + subTest.log(log4cplus::FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Entering writeLogMessage()...")); + LOG4CPLUS_CRITICAL(subTest, LOG4CPLUS_TEXT("writeLogMessage()- This is a message from a different file")); - subTest.log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exiting writeLogMessage()...")); + subTest.log(log4cplus::FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exiting writeLogMessage()...")); } - LogLog::getLogLog()->warn(LOG4CPLUS_TEXT("REALLY exiting writeLogMessage()...")); + log4cplus::helpers::LogLog::getLogLog()->warn(LOG4CPLUS_TEXT("REALLY exiting writeLogMessage()...")); } - - diff --git a/tests/customloglevel_test/main.cxx b/tests/customloglevel_test/main.cxx index 734fc6c1f..4b98b5fbc 100644 --- a/tests/customloglevel_test/main.cxx +++ b/tests/customloglevel_test/main.cxx @@ -12,6 +12,8 @@ using namespace log4cplus; // Forward Declarations void writeLogMessage(); +static log4cplus::tstring const CRITICAL_STRING (LOG4CPLUS_TEXT("CRITICAL")); + int main() @@ -20,6 +22,9 @@ main() log4cplus::Initializer initializer; { log4cplus::initialize (); + + log4cplus::getLogLevelManager ().pushLogLevel (CRITICAL_LOG_LEVEL, CRITICAL_STRING); + SharedAppenderPtr append_1(new ConsoleAppender()); append_1->setName(LOG4CPLUS_TEXT("First")); // append_1->setLayout( std::unique_ptr(new TTCCLayout()) ); From 45decf4649dcf77e7973b7e7b970d3e9010fd671 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 2 Dec 2018 23:34:54 +0100 Subject: [PATCH 040/353] Fix CMake build. --- tests/customloglevel_test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/customloglevel_test/CMakeLists.txt b/tests/customloglevel_test/CMakeLists.txt index f14711be7..368b74c46 100644 --- a/tests/customloglevel_test/CMakeLists.txt +++ b/tests/customloglevel_test/CMakeLists.txt @@ -1 +1 @@ -log4cplus_add_test(customloglevel_test main.cxx func.cxx customloglevel.cxx) +log4cplus_add_test(customloglevel_test main.cxx func.cxx) From d17c9b93b43bfb1dac5f7e2c44ce4bdecfee2c57 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 3 Dec 2018 08:01:10 +0100 Subject: [PATCH 041/353] On second thought, use SharedObjectPtr to handle LogLevelTranslator. --- include/log4cplus/loglevel.h | 10 +++++++--- src/loglevel.cxx | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index 72b01b33c..c3c1ce0e7 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -35,6 +35,7 @@ #include #include #include +#include namespace log4cplus { @@ -100,7 +101,8 @@ namespace log4cplus { * This is a base class used by `LogLevelManager` to translate between * numeric `LogLevel` and log level name. */ - class LOG4CPLUS_EXPORT LogLevelTranslator { + class LOG4CPLUS_EXPORT LogLevelTranslator + : public virtual helpers::SharedObject { public: LogLevelTranslator (); virtual ~LogLevelTranslator () = 0; @@ -118,6 +120,8 @@ namespace log4cplus { virtual LogLevel fromString (const log4cplus::tstring_view& arg) const = 0; }; + using SharedLogLevelTranslatorPtr = helpers::SharedObjectPtr; + /** * This class is used to "manage" LogLevel definitions. This class is also @@ -158,10 +162,10 @@ namespace log4cplus { void pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name); - void pushLogLevelTranslator(std::unique_ptr); + void pushLogLevelTranslator(SharedLogLevelTranslatorPtr); private: - typedef std::vector> LogLevelTranslatorList; + typedef std::vector LogLevelTranslatorList; LogLevelTranslatorList translator_list; // Disable Copy diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 785776ce3..10ee1edc6 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -162,7 +162,7 @@ class LOG4CPLUS_PRIVATE SingleLogLevelTranslator LogLevelManager::LogLevelManager() { - pushLogLevelTranslator (std::unique_ptr(new DefaultLogLevelTranslator ())); + pushLogLevelTranslator (SharedLogLevelTranslatorPtr (new DefaultLogLevelTranslator ())); } @@ -212,12 +212,12 @@ LogLevelManager::fromString(const tstring_view& arg) const void LogLevelManager::pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name) { - pushLogLevelTranslator (std::make_unique(ll, name)); + pushLogLevelTranslator (SharedLogLevelTranslatorPtr (new SingleLogLevelTranslator (ll, name))); } void -LogLevelManager::pushLogLevelTranslator(std::unique_ptr translator) +LogLevelManager::pushLogLevelTranslator(SharedLogLevelTranslatorPtr translator) { translator_list.emplace_back (std::move (translator)); } From eba59a82414172e90c08ca229e9a3ce905d802f5 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 3 Dec 2018 08:21:28 +0100 Subject: [PATCH 042/353] Add minimal argument checking for custom log level. --- src/loglevel.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 10ee1edc6..5af248159 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -212,6 +212,12 @@ LogLevelManager::fromString(const tstring_view& arg) const void LogLevelManager::pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name) { + if (ll < 0) + helpers::getLogLog ().error (LOG4CPLUS_TEXT ("Log level value must be > 0"), true); + + if (name.empty ()) + helpers::getLogLog ().error (LOG4CPLUS_TEXT ("Log level name cannot be empty"), true); + pushLogLevelTranslator (SharedLogLevelTranslatorPtr (new SingleLogLevelTranslator (ll, name))); } @@ -219,7 +225,7 @@ LogLevelManager::pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name) void LogLevelManager::pushLogLevelTranslator(SharedLogLevelTranslatorPtr translator) { - translator_list.emplace_back (std::move (translator)); + translator_list.push_back (std::move (translator)); } From 69c6c056d78ddca51a829b072bbf296edb060a37 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 6 Dec 2018 20:47:51 +0100 Subject: [PATCH 043/353] Detect more GCC warnings flags. --- configure | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 7 +- 2 files changed, 197 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 88b40d1d8..eed1f644e 100755 --- a/configure +++ b/configure @@ -8303,6 +8303,198 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&5 $as_echo "$ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&6; } var=$ax_cv_cxxflags_gcc_option__Wno_variadic_macros +case ".$var" in + .ok|.ok,*) ;; + .|.no|.no,*) ;; + *) + if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null + then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + (: CXXFLAGS does contain $var) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + (: CXXFLAGS="$CXXFLAGS $var") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + CXXFLAGS="$CXXFLAGS $var" + fi + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wduplicated-branches" >&5 +$as_echo_n "checking CXXFLAGS for gcc -Wduplicated-branches... " >&6; } +if ${ax_cv_cxxflags_gcc_option__Wduplicated_branches+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_cxxflags_gcc_option__Wduplicated_branches="no, unknown" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_save_CXXFLAGS="$CXXFLAGS" +for ac_arg in "-pedantic -Werror % -Wduplicated-branches" "-pedantic % -Wduplicated-branches %% no, obsolete" # +do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int zero; +int +main () +{ +zero = 0; return zero; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ax_cv_cxxflags_gcc_option__Wduplicated_branches=`echo $ac_arg | sed -e 's,.*% *,,'`; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +done + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&5 +$as_echo "$ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wduplicated_branches +case ".$var" in + .ok|.ok,*) ;; + .|.no|.no,*) ;; + *) + if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null + then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + (: CXXFLAGS does contain $var) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + (: CXXFLAGS="$CXXFLAGS $var") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + CXXFLAGS="$CXXFLAGS $var" + fi + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wdangling-else" >&5 +$as_echo_n "checking CXXFLAGS for gcc -Wdangling-else... " >&6; } +if ${ax_cv_cxxflags_gcc_option__Wdangling_else+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_cxxflags_gcc_option__Wdangling_else="no, unknown" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_save_CXXFLAGS="$CXXFLAGS" +for ac_arg in "-pedantic -Werror % -Wdangling-else" "-pedantic % -Wdangling-else %% no, obsolete" # +do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int zero; +int +main () +{ +zero = 0; return zero; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ax_cv_cxxflags_gcc_option__Wdangling_else=`echo $ac_arg | sed -e 's,.*% *,,'`; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +done + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wdangling_else" >&5 +$as_echo "$ax_cv_cxxflags_gcc_option__Wdangling_else" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wdangling_else +case ".$var" in + .ok|.ok,*) ;; + .|.no|.no,*) ;; + *) + if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null + then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + (: CXXFLAGS does contain $var) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + (: CXXFLAGS="$CXXFLAGS $var") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + CXXFLAGS="$CXXFLAGS $var" + fi + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wmultistatement-macros" >&5 +$as_echo_n "checking CXXFLAGS for gcc -Wmultistatement-macros... " >&6; } +if ${ax_cv_cxxflags_gcc_option__Wmultistatement_macros+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_cxxflags_gcc_option__Wmultistatement_macros="no, unknown" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_save_CXXFLAGS="$CXXFLAGS" +for ac_arg in "-pedantic -Werror % -Wmultistatement-macros" "-pedantic % -Wmultistatement-macros %% no, obsolete" # +do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int zero; +int +main () +{ +zero = 0; return zero; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ax_cv_cxxflags_gcc_option__Wmultistatement_macros=`echo $ac_arg | sed -e 's,.*% *,,'`; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +done + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&5 +$as_echo "$ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wmultistatement_macros case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; diff --git a/configure.ac b/configure.ac index e6912e9e6..1e4d18401 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_INIT([log4cplus],[3.0.0]) AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([src/logger.cxx]) AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE([1.14 no-define no-dist nostdinc foreign subdir-objects -Wall]) +AM_INIT_AUTOMAKE([1.16.1 no-define no-dist nostdinc foreign subdir-objects -Wall]) AC_CONFIG_TESTDIR([tests]) AM_MAINTAINER_MODE([enable]) AM_PROG_AR @@ -250,7 +250,10 @@ AS_CASE([$ax_cv_cxx_compiler_vendor], dnl AX_CXXFLAGS_GCC_OPTION([-Wsuggest-attribute=pure]) dnl AX_CXXFLAGS_GCC_OPTION([-Wsuggest-attribute=const]) AX_CXXFLAGS_GCC_OPTION([-Wsuggest-attribute=noreturn]) - AX_CXXFLAGS_GCC_OPTION([-Wno-variadic-macros])]) + AX_CXXFLAGS_GCC_OPTION([-Wno-variadic-macros]) + AX_CXXFLAGS_GCC_OPTION([-Wduplicated-branches]) + AX_CXXFLAGS_GCC_OPTION([-Wdangling-else]) + AX_CXXFLAGS_GCC_OPTION([-Wmultistatement-macros])]) AS_IF([test "x$enable_debugging" = "xyes"], [AX_CXXFLAGS_GCC_OPTION([-g3]) From bda42583c5035ffb2213ef6ce7bff217eae3f052 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 3 Sep 2018 19:29:33 +0200 Subject: [PATCH 044/353] CMakeLists.txt: Use PIC/PIE code generation even for static libs. --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9977d39b5..d5d3a8c9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,9 @@ cmake_minimum_required (VERSION 3.8) # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) +# Use "-fPIC" / "-fPIE" for all targets by default, including static libs. +set (CMAKE_POSITION_INDEPENDENT_CODE ON) + enable_language (CXX) if (MSVC) set (CMAKE_CXX_STANDARD 17) From eed10f65023a185c7d81551c2dc0fd355c7aaca0 Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Sun, 11 Nov 2018 20:51:28 +0100 Subject: [PATCH 045/353] config.hxx: fix C API compiling Signed-off-by: Jens Rehsack --- include/log4cplus/config.hxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 57ac533db..07a424efc 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -31,7 +31,6 @@ #else # include #endif -#include # if ! defined (LOG4CPLUS_WORKING_LOCALE) \ && ! defined (LOG4CPLUS_WORKING_C_LOCALE) \ @@ -179,6 +178,8 @@ #endif #if defined(__cplusplus) +#include + namespace log4cplus { From 5382b258361d53e54fe85bff4d18686e88f659b7 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 8 Dec 2018 09:50:36 +0100 Subject: [PATCH 046/353] Revert "CMakeLists.txt: Use PIC/PIE code generation even for static libs." This reverts commit bda42583c5035ffb2213ef6ce7bff217eae3f052. --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d5d3a8c9b..9977d39b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,9 +17,6 @@ cmake_minimum_required (VERSION 3.8) # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) -# Use "-fPIC" / "-fPIE" for all targets by default, including static libs. -set (CMAKE_POSITION_INDEPENDENT_CODE ON) - enable_language (CXX) if (MSVC) set (CMAKE_CXX_STANDARD 17) From dac8d7fcbfe263631e6d3f8b124ceb129d2221ee Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 8 Dec 2018 14:18:48 +0100 Subject: [PATCH 047/353] Use shared mutex for LogLevelManager mult-threaded access. --- include/log4cplus/loglevel.h | 3 +++ src/loglevel.cxx | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index c3c1ce0e7..8ad15611b 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -165,6 +166,8 @@ namespace log4cplus { void pushLogLevelTranslator(SharedLogLevelTranslatorPtr); private: + mutable std::shared_mutex mtx; + typedef std::vector LogLevelTranslatorList; LogLevelTranslatorList translator_list; diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 5af248159..8fedda806 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -178,6 +178,8 @@ LogLevelManager::~LogLevelManager() tstring const & LogLevelManager::toString(LogLevel ll) const { + std::shared_lock guard (mtx); + for (auto & ptr : translator_list) { tstring const & ret = ptr->toString (ll); @@ -194,6 +196,8 @@ LogLevelManager::fromString(const tstring_view& arg) const { tstring const s = helpers::toUpper(arg); + std::shared_lock guard (mtx); + for (auto & ptr : translator_list) { LogLevel ret = ptr->fromString (s); @@ -225,6 +229,13 @@ LogLevelManager::pushLogLevel(LogLevel ll, const log4cplus::tstring_view & name) void LogLevelManager::pushLogLevelTranslator(SharedLogLevelTranslatorPtr translator) { + if (! translator) + helpers::getLogLog ().error ( + LOG4CPLUS_TEXT ("Log level translator object pointer must not be NULL"), + true); + + std::unique_lock guard (mtx); + translator_list.push_back (std::move (translator)); } From fe1dba2082fef818c234ff672395d18b42ddc949 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 8 Dec 2018 16:00:23 +0100 Subject: [PATCH 048/353] Fix single threaded builds. --- include/log4cplus/loglevel.h | 2 ++ src/loglevel.cxx | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index 8ad15611b..53b2d261d 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -166,7 +166,9 @@ namespace log4cplus { void pushLogLevelTranslator(SharedLogLevelTranslatorPtr); private: +#if ! defined (LOG4CPLUS_SINGLE_THREADED) mutable std::shared_mutex mtx; +#endif typedef std::vector LogLevelTranslatorList; LogLevelTranslatorList translator_list; diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 8fedda806..551b1b6b5 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -178,7 +178,9 @@ LogLevelManager::~LogLevelManager() tstring const & LogLevelManager::toString(LogLevel ll) const { +#if ! defined (LOG4CPLUS_SINGLE_THREADED) std::shared_lock guard (mtx); +#endif for (auto & ptr : translator_list) { @@ -196,7 +198,9 @@ LogLevelManager::fromString(const tstring_view& arg) const { tstring const s = helpers::toUpper(arg); +#if ! defined (LOG4CPLUS_SINGLE_THREADED) std::shared_lock guard (mtx); +#endif for (auto & ptr : translator_list) { @@ -234,7 +238,9 @@ LogLevelManager::pushLogLevelTranslator(SharedLogLevelTranslatorPtr translator) LOG4CPLUS_TEXT ("Log level translator object pointer must not be NULL"), true); +#if ! defined (LOG4CPLUS_SINGLE_THREADED) std::unique_lock guard (mtx); +#endif translator_list.push_back (std::move (translator)); } From be0b2cb1c276f11fd90bf067fabcddb73b5ebc5e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 6 Dec 2018 21:07:58 +0100 Subject: [PATCH 049/353] clogger: introduce custom loglevel manager Since it's kind-of difficult for a C client of log4cplus to add a LogLevelManager class as suggested for own loglevel extensions, a std::map based manager is added for C API only. Tested with https://github.com/perl5-utils/Lib-Log4cplus Signed-off-by: Jens Rehsack --- include/Makefile.am | 1 + include/Makefile.in | 1 + include/log4cplus/clogger.h | 5 + .../internal/customloglevelmanager.h | 151 ++++++++++++++++++ src/clogger.cxx | 73 +++++++-- src/global-init.cxx | 12 ++ 6 files changed, 233 insertions(+), 10 deletions(-) create mode 100644 include/log4cplus/internal/customloglevelmanager.h diff --git a/include/Makefile.am b/include/Makefile.am index 938b5a4d7..0596b5638 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -35,6 +35,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/hierarchy.h \ log4cplus/hierarchylocker.h \ log4cplus/initializer.h \ + log4cplus/internal/customloglevelmanager.h \ log4cplus/internal/cygwin-win32.h \ log4cplus/internal/env.h \ log4cplus/internal/internal.h \ diff --git a/include/Makefile.in b/include/Makefile.in index d100f4ef5..f5fac5080 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -391,6 +391,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/hierarchy.h \ log4cplus/hierarchylocker.h \ log4cplus/initializer.h \ + log4cplus/internal/customloglevelmanager.h \ log4cplus/internal/cygwin-win32.h \ log4cplus/internal/env.h \ log4cplus/internal/internal.h \ diff --git a/include/log4cplus/clogger.h b/include/log4cplus/clogger.h index 55cafad3f..b8b2a4322 100644 --- a/include/log4cplus/clogger.h +++ b/include/log4cplus/clogger.h @@ -113,6 +113,11 @@ LOG4CPLUS_EXPORT int log4cplus_add_callback_appender( const log4cplus_char_t * logger, log4cplus_log_event_callback_t callback, void * cookie); +// Custom LogLevel +LOG4CPLUS_EXPORT int log4cplus_add_log_level(unsigned int ll, + const log4cplus_char_t *ll_name); +LOG4CPLUS_EXPORT int log4cplus_remove_log_level(unsigned int ll, + const log4cplus_char_t *ll_name); #ifdef __cplusplus } diff --git a/include/log4cplus/internal/customloglevelmanager.h b/include/log4cplus/internal/customloglevelmanager.h new file mode 100644 index 000000000..386dad0ed --- /dev/null +++ b/include/log4cplus/internal/customloglevelmanager.h @@ -0,0 +1,151 @@ +// -*- C++ -*- +// Module: Log4CPLUS +// File: customloglevelmanager.h +// Created: 12/2018 +// Author: Jens Rehsack +// Author: Václav Haisman +// +// +// Copyright (C) 2018, Jens Rehsack. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/** @file + * This header contains declaration internal to log4cplus. They must never be + * visible from user accesible headers or exported in DLL/shared library. + */ + + +#ifndef LOG4CPLUS_INTERNAL_CUSTOMLOGLEVELMANAGER_HEADER_ +#define LOG4CPLUS_INTERNAL_CUSTOMLOGLEVELMANAGER_HEADER_ + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#if ! defined (INSIDE_LOG4CPLUS) +# error "This header must not be be used outside log4cplus' implementation files." +#endif + +#include +#include +#include + + +namespace log4cplus { + +namespace internal { + + +/** + * Custom log level manager used by C API. + */ +class CustomLogLevelManager { +protected: + log4cplus::thread::Mutex mtx; + bool pushed_methods; + std::map ll2nm; + std::map nm2ll; + +public: + CustomLogLevelManager() + : pushed_methods (false) + { } + + bool add(LogLevel ll, tstring const &nm) + { + log4cplus::thread::MutexGuard guard (mtx); + + if (! pushed_methods) + { + pushed_methods = true; + getLogLevelManager().pushToStringMethod(customToStringMethod); + getLogLevelManager().pushFromStringMethod(customFromStringMethod); + } + + auto i = ll2nm.lower_bound(ll); + if( ( i != ll2nm.end() ) && ( i->first == ll ) && ( i->second != nm ) ) + return false; + + auto j = nm2ll.lower_bound(nm); + if( ( j != nm2ll.end() ) && ( j->first == nm ) && ( j->second != ll ) ) + return false; + + // there is no else after return + ll2nm.insert( i, std::make_pair(ll, nm) ); + nm2ll.insert( j, std::make_pair(nm, ll) ); + return true; + } + + bool remove(LogLevel ll, tstring const &nm) + { + log4cplus::thread::MutexGuard guard (mtx); + + auto i = ll2nm.find(ll); + auto j = nm2ll.find(nm); + if( ( i != ll2nm.end() ) && ( j != nm2ll.end() ) && + ( i->first == j->second ) && ( i->second == j->first ) ) { + ll2nm.erase(i); + nm2ll.erase(j); + + return true; + } + + // there is no else after return + return false; + } + +protected: + tstring const & customToStringMethodWorker(LogLevel ll) + { + log4cplus::thread::MutexGuard guard (mtx); + auto i = ll2nm.find(ll); + if( i != ll2nm.end() ) + return i->second; + + return internal::empty_str; + } + + LogLevel customFromStringMethodWorker(const tstring& nm) + { + log4cplus::thread::MutexGuard guard (mtx); + auto i = nm2ll.find(nm); + if( i != nm2ll.end() ) + return i->second; + + return NOT_SET_LOG_LEVEL; + } + + LOG4CPLUS_PRIVATE static tstring const & customToStringMethod(LogLevel ll); + LOG4CPLUS_PRIVATE static LogLevel customFromStringMethod(const tstring& nm); +}; + +LOG4CPLUS_PRIVATE CustomLogLevelManager & getCustomLogLevelManager (); + +} // namespace internal + +} // namespace log4cplus + + +#endif // LOG4CPLUS_INTERNAL_CUSTOMLOGLEVELMANAGER_HEADER diff --git a/src/clogger.cxx b/src/clogger.cxx index 9c089310a..a144eabeb 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include @@ -37,6 +39,7 @@ #include #include +#include using namespace log4cplus; using namespace log4cplus::helpers; @@ -102,11 +105,11 @@ log4cplus_file_reconfigure(const log4cplus_char_t *pathname) try { - // lock the DefaultHierarchy - HierarchyLocker theLock(Logger::getDefaultHierarchy()); + // lock the DefaultHierarchy + HierarchyLocker theLock(Logger::getDefaultHierarchy()); - // reconfigure the DefaultHierarchy - theLock.resetConfiguration(); + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); PropertyConfigurator::doConfigure( pathname ); } catch(std::exception const &) @@ -148,10 +151,10 @@ log4cplus_str_reconfigure(const log4cplus_char_t *config) { tstring s(config); tistringstream iss(s); - HierarchyLocker theLock(Logger::getDefaultHierarchy()); + HierarchyLocker theLock(Logger::getDefaultHierarchy()); - // reconfigure the DefaultHierarchy - theLock.resetConfiguration(); + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); PropertyConfigurator pc(iss); pc.configure(); } @@ -183,10 +186,10 @@ log4cplus_basic_reconfigure(int logToStdErr) { try { - HierarchyLocker theLock(Logger::getDefaultHierarchy()); + HierarchyLocker theLock(Logger::getDefaultHierarchy()); - // reconfigure the DefaultHierarchy - theLock.resetConfiguration(); + // reconfigure the DefaultHierarchy + theLock.resetConfiguration(); BasicConfigurator::doConfigure(Logger::getDefaultHierarchy(), logToStdErr); } catch(std::exception const &) @@ -377,3 +380,53 @@ log4cplus_logger_force_log_str(const log4cplus_char_t *name, loglevel_t ll, return retval; } + + +namespace log4cplus { + +namespace internal { + +tstring const & +CustomLogLevelManager::customToStringMethod(LogLevel ll) +{ + CustomLogLevelManager & customLogLevelManager = getCustomLogLevelManager (); + return customLogLevelManager.customToStringMethodWorker(ll); +} + +LogLevel +CustomLogLevelManager::customFromStringMethod(const tstring& nm) +{ + CustomLogLevelManager & customLogLevelManager = getCustomLogLevelManager (); + return customLogLevelManager.customFromStringMethodWorker(nm); +} + +} // namespace internal + +} // namespace log4cplus + + +LOG4CPLUS_EXPORT int +log4cplus_add_log_level(unsigned int ll, const log4cplus_char_t *ll_name) +{ + if(ll == 0 || !ll_name) + return EINVAL; + + tstring nm(ll_name); + if( log4cplus::internal::getCustomLogLevelManager ().add(ll, nm) == true ) + return 0; + + return -1; +} + +LOG4CPLUS_EXPORT int +log4cplus_remove_log_level(unsigned int ll, const log4cplus_char_t *ll_name) +{ + if(ll == 0 || !ll_name) + return EINVAL; + + tstring nm(ll_name); + if( log4cplus::internal::getCustomLogLevelManager ().remove(ll, nm) == true ) + return 0; + + return -1; +} diff --git a/src/global-init.cxx b/src/global-init.cxx index e32caa730..eaf3a2e08 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -136,6 +137,7 @@ struct DefaultContext log4cplus::thread::Mutex console_mutex; helpers::LogLog loglog; LogLevelManager log_level_manager; + internal::CustomLogLevelManager custom_log_level_manager; helpers::Time TTCCLayout_time_base; NDC ndc; MDC mdc; @@ -213,6 +215,16 @@ get_dc (bool alloc = true) } // namespace +namespace internal { + +CustomLogLevelManager & getCustomLogLevelManager () +{ + return get_dc ()->custom_log_level_manager; +} + +} // namespace internal + + namespace helpers { From 1aab7d24b0ab79bbf7d3dc6ad871aeb69fd80c7e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 9 Dec 2018 10:04:10 +0100 Subject: [PATCH 050/353] Adjust CustomLogLevelManager for 3.0.x and C++17. --- .../internal/customloglevelmanager.h | 93 ++++--------------- include/log4cplus/loglevel.h | 2 + src/clogger.cxx | 88 ++++++++++++++++-- src/loglevel.cxx | 2 +- 4 files changed, 104 insertions(+), 81 deletions(-) diff --git a/include/log4cplus/internal/customloglevelmanager.h b/include/log4cplus/internal/customloglevelmanager.h index 386dad0ed..ddef05095 100644 --- a/include/log4cplus/internal/customloglevelmanager.h +++ b/include/log4cplus/internal/customloglevelmanager.h @@ -51,7 +51,9 @@ #include #include #include - +#if ! defined (LOG4CPLUS_SINGLE_THREADED) +#include +#endif namespace log4cplus { @@ -61,84 +63,29 @@ namespace internal { /** * Custom log level manager used by C API. */ -class CustomLogLevelManager { +class LOG4CPLUS_PRIVATE CustomLogLevelManager + : virtual public LogLevelTranslator +{ protected: - log4cplus::thread::Mutex mtx; +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + mutable std::shared_mutex mtx; +#endif bool pushed_methods; - std::map ll2nm; - std::map nm2ll; + std::map ll2nm; + std::map> nm2ll; public: - CustomLogLevelManager() - : pushed_methods (false) - { } - - bool add(LogLevel ll, tstring const &nm) - { - log4cplus::thread::MutexGuard guard (mtx); - - if (! pushed_methods) - { - pushed_methods = true; - getLogLevelManager().pushToStringMethod(customToStringMethod); - getLogLevelManager().pushFromStringMethod(customFromStringMethod); - } - - auto i = ll2nm.lower_bound(ll); - if( ( i != ll2nm.end() ) && ( i->first == ll ) && ( i->second != nm ) ) - return false; - - auto j = nm2ll.lower_bound(nm); - if( ( j != nm2ll.end() ) && ( j->first == nm ) && ( j->second != ll ) ) - return false; - - // there is no else after return - ll2nm.insert( i, std::make_pair(ll, nm) ); - nm2ll.insert( j, std::make_pair(nm, ll) ); - return true; - } - - bool remove(LogLevel ll, tstring const &nm) - { - log4cplus::thread::MutexGuard guard (mtx); - - auto i = ll2nm.find(ll); - auto j = nm2ll.find(nm); - if( ( i != ll2nm.end() ) && ( j != nm2ll.end() ) && - ( i->first == j->second ) && ( i->second == j->first ) ) { - ll2nm.erase(i); - nm2ll.erase(j); - - return true; - } - - // there is no else after return - return false; - } + CustomLogLevelManager (); + virtual ~CustomLogLevelManager (); + + bool add(LogLevel ll, tstring const &nm); + + bool remove(LogLevel ll, tstring const &nm); protected: - tstring const & customToStringMethodWorker(LogLevel ll) - { - log4cplus::thread::MutexGuard guard (mtx); - auto i = ll2nm.find(ll); - if( i != ll2nm.end() ) - return i->second; - - return internal::empty_str; - } - - LogLevel customFromStringMethodWorker(const tstring& nm) - { - log4cplus::thread::MutexGuard guard (mtx); - auto i = nm2ll.find(nm); - if( i != nm2ll.end() ) - return i->second; - - return NOT_SET_LOG_LEVEL; - } - - LOG4CPLUS_PRIVATE static tstring const & customToStringMethod(LogLevel ll); - LOG4CPLUS_PRIVATE static LogLevel customFromStringMethod(const tstring& nm); + virtual log4cplus::tstring const & toString (LogLevel ll) const; + + virtual LogLevel fromString (const log4cplus::tstring_view& s) const; }; LOG4CPLUS_PRIVATE CustomLogLevelManager & getCustomLogLevelManager (); diff --git a/include/log4cplus/loglevel.h b/include/log4cplus/loglevel.h index 53b2d261d..bf17572bf 100644 --- a/include/log4cplus/loglevel.h +++ b/include/log4cplus/loglevel.h @@ -34,7 +34,9 @@ #include #include +#if ! defined (LOG4CPLUS_SINGLE_THREADED) #include +#endif #include #include diff --git a/src/clogger.cxx b/src/clogger.cxx index a144eabeb..a267ecd2c 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -386,18 +386,92 @@ namespace log4cplus { namespace internal { -tstring const & -CustomLogLevelManager::customToStringMethod(LogLevel ll) +CustomLogLevelManager::CustomLogLevelManager () + : pushed_methods (false) +{ } + + +CustomLogLevelManager::~CustomLogLevelManager () +{ } + + +bool +CustomLogLevelManager::add(LogLevel ll, tstring const &nm) +{ +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + std::unique_lock guard (mtx); +#endif + + if (! pushed_methods) + { + pushed_methods = true; + getLogLevelManager().pushLogLevelTranslator (SharedLogLevelTranslatorPtr (this)); + } + + auto i = ll2nm.lower_bound(ll); + if( ( i != ll2nm.end() ) && ( i->first == ll ) && ( i->second != nm ) ) + return false; + + auto j = nm2ll.lower_bound(nm); + if( ( j != nm2ll.end() ) && ( j->first == nm ) && ( j->second != ll ) ) + return false; + + // there is no else after return + ll2nm.insert( i, std::make_pair(ll, nm) ); + nm2ll.insert( j, std::make_pair(nm, ll) ); + + return true; +} + + +bool +CustomLogLevelManager::remove(LogLevel ll, tstring const &nm) +{ +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + std::unique_lock guard (mtx); +#endif + + auto i = ll2nm.find(ll); + auto j = nm2ll.find(nm); + if( ( i != ll2nm.end() ) && ( j != nm2ll.end() ) && + ( i->first == j->second ) && ( i->second == j->first ) ) { + ll2nm.erase(i); + nm2ll.erase(j); + + return true; + } + + // there is no else after return + return false; +} + + +log4cplus::tstring const & +CustomLogLevelManager::toString (LogLevel ll) const { - CustomLogLevelManager & customLogLevelManager = getCustomLogLevelManager (); - return customLogLevelManager.customToStringMethodWorker(ll); +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + std::shared_lock guard (mtx); +#endif + + auto i = ll2nm.find(ll); + if( i != ll2nm.end() ) + return i->second; + + return internal::empty_str; } + LogLevel -CustomLogLevelManager::customFromStringMethod(const tstring& nm) +CustomLogLevelManager::fromString (const log4cplus::tstring_view& nm) const { - CustomLogLevelManager & customLogLevelManager = getCustomLogLevelManager (); - return customLogLevelManager.customFromStringMethodWorker(nm); +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + std::shared_lock guard (mtx); +#endif + auto i = nm2ll.find(nm); + if( i != nm2ll.end() ) + return i->second; + + return NOT_SET_LOG_LEVEL; } } // namespace internal diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 551b1b6b5..b6b906b3a 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -246,5 +247,4 @@ LogLevelManager::pushLogLevelTranslator(SharedLogLevelTranslatorPtr translator) } - } // namespace log4cplus From 769348bc119daf1ec26eef2268026d50120eb944 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 10 Dec 2018 19:53:27 +0100 Subject: [PATCH 051/353] README.md: Mention `LOG4CPLUS_BUILD_DLL`. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 4960b8b80..c735885ef 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,14 @@ compiling [log4cplus] targeted to Windows Vista or later. [tlsvista]: http://support.microsoft.com/kb/118816/en-us +Linking on Windows +------------------ + +If you are linking your application with DLL variant of [log4cplus], define +`LOG4CPLUS_BUILD_DLL` preprocessor symbol. This changes definition of +`LOG4CPLUS_EXPORT` symbol to `__declspec(dllimport)`. + + Android, TLS and CMake ---------------------- From 3304ac0b425dd7f10d14129c0e38b7b8ee2e10eb Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 10 Dec 2018 19:54:15 +0100 Subject: [PATCH 052/353] Limit when LOG4CPLUS_*_BUILD_DLL is defined. Define it only when DLL_EXPORT is defined and we are inside a log4cplus component build. --- include/log4cplus/config/win32.h | 2 +- include/log4cplus/msttsappender.h | 14 +++++++------- include/log4cplus/qt4debugappender.h | 14 +++++++------- include/log4cplus/qt5debugappender.h | 14 +++++++------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/log4cplus/config/win32.h b/include/log4cplus/config/win32.h index 0ef966185..5d3a0b499 100644 --- a/include/log4cplus/config/win32.h +++ b/include/log4cplus/config/win32.h @@ -116,7 +116,7 @@ // log4cplus_EXPORTS is used by the CMake build system. DLL_EXPORT is // used by the autotools build system. #if (defined (log4cplus_EXPORTS) || defined (log4cplusU_EXPORTS) \ - || defined (DLL_EXPORT)) \ + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS))) \ && ! defined (LOG4CPLUS_STATIC) # undef LOG4CPLUS_BUILD_DLL # define LOG4CPLUS_BUILD_DLL diff --git a/include/log4cplus/msttsappender.h b/include/log4cplus/msttsappender.h index 6a48be7af..347972534 100644 --- a/include/log4cplus/msttsappender.h +++ b/include/log4cplus/msttsappender.h @@ -6,17 +6,17 @@ // // // Copyright (C) 2012-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -27,8 +27,8 @@ // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - + + // /** @file */ @@ -48,7 +48,7 @@ #if defined (_WIN32) #if defined (log4cplusqt4debugappender_EXPORTS) \ || defined (log4cplusqt4debugappenderU_EXPORTS) \ - || defined (DLL_EXPORT) + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS_MSTTSAPPENDER)) #undef LOG4CPLUS_MSTTSAPPENDER_BUILD_DLL #define LOG4CPLUS_MSTTSAPPENDER_BUILD_DLL #endif diff --git a/include/log4cplus/qt4debugappender.h b/include/log4cplus/qt4debugappender.h index 9b19649d7..177dbda43 100644 --- a/include/log4cplus/qt4debugappender.h +++ b/include/log4cplus/qt4debugappender.h @@ -6,17 +6,17 @@ // // // Copyright (C) 2012-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -27,8 +27,8 @@ // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - + + // /** @file */ @@ -47,7 +47,7 @@ #if defined (_WIN32) #if defined (log4cplusqt4debugappender_EXPORTS) \ || defined (log4cplusqt4debugappenderU_EXPORTS) \ - || defined (DLL_EXPORT) + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS_QT4DEBUGAPPENDER)) #undef LOG4CPLUS_QT4DEBUGAPPENDER_BUILD_DLL #define LOG4CPLUS_QT4DEBUGAPPENDER_BUILD_DLL #endif diff --git a/include/log4cplus/qt5debugappender.h b/include/log4cplus/qt5debugappender.h index b5e713180..e14bf234d 100644 --- a/include/log4cplus/qt5debugappender.h +++ b/include/log4cplus/qt5debugappender.h @@ -6,17 +6,17 @@ // // // Copyright (C) 2013-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -27,8 +27,8 @@ // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - + + // /** @file */ @@ -47,7 +47,7 @@ #if defined (_WIN32) #if defined (log4cplusqt5debugappender_EXPORTS) \ || defined (log4cplusqt5debugappenderU_EXPORTS) \ - || defined (DLL_EXPORT) + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER)) #undef LOG4CPLUS_QT5DEBUGAPPENDER_BUILD_DLL #define LOG4CPLUS_QT5DEBUGAPPENDER_BUILD_DLL #endif From b856bb762a4c59e8688f8942cf4d1b67cd4dc236 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 27 Dec 2018 17:18:02 +0100 Subject: [PATCH 053/353] Fix #375. NVCC in CUDA mode does not support `__builtin_FILE()`, `__builtin_LINE ()`, and `__builtin_FUNCTION()`. --- include/log4cplus/config.hxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 07a424efc..45633211a 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -112,7 +112,8 @@ #if defined (__GNUC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \ - && ! defined (__INTEL_COMPILER) + && ! defined (__INTEL_COMPILER) \ + && ! defined (__CUDACC__) # define LOG4CPLUS_CALLER_FILE() __builtin_FILE () # define LOG4CPLUS_CALLER_LINE() __builtin_LINE () # define LOG4CPLUS_CALLER_FUNCTION() __builtin_FUNCTION () From 0a71291a52cfcb885817c206f9b439c763e8c68e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 7 Jan 2019 02:01:09 +0100 Subject: [PATCH 054/353] Fix Catch2 include path to fix #379. --- msvc14/log4cplus.props | 2 +- msvc14/tests/log4cplus_tests.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/msvc14/log4cplus.props b/msvc14/log4cplus.props index ecef35933..fbf46d36e 100644 --- a/msvc14/log4cplus.props +++ b/msvc14/log4cplus.props @@ -9,7 +9,7 @@ - ..\include;..\threadpool;..\catch\single_include;%(AdditionalIncludeDirectories) + ..\include;..\threadpool;..\catch\single_include\catch2;%(AdditionalIncludeDirectories) WIN32;_WIN32_WINNT=0x0600;WINVER=0x0600;INSIDE_LOG4CPLUS;LOG4CPLUS_WITH_UNIT_TESTS=1;CATCH_CONFIG_PREFIX_ALL=1;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/log4cplus_tests.props b/msvc14/tests/log4cplus_tests.props index e1129b9ba..89bec0b36 100644 --- a/msvc14/tests/log4cplus_tests.props +++ b/msvc14/tests/log4cplus_tests.props @@ -7,7 +7,7 @@ - ..\..\include;..\..\catch\include;%(AdditionalIncludeDirectories) + ..\..\include;..\..\catch\single_include\catch2;%(AdditionalIncludeDirectories) ProgramDatabase $(OutDir)$(TargetName).pdb Level3 From fbc484812fe7d70455dba67296c856f8c09045b3 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 16 Feb 2019 14:52:06 +0100 Subject: [PATCH 055/353] configure.ac: add an option to disable tests Allow the user to disable tests in configure.ac (this is already possible through cmake with LOG4CPLUS_BUILD_TESTING) Signed-off-by: Fabrice Fontaine --- Makefile.am | 2 ++ README.md | 6 ++++++ configure.ac | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/Makefile.am b/Makefile.am index 2235ae31a..c8e5e6c6e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,6 +50,7 @@ include %D%/qt5debugappender/Makefile.am include %D%/swig/Makefile.common.am include %D%/swig/python/Makefile.am +if ENABLE_TESTS include %D%/tests/Makefile.am include %D%/tests/appender_test/Makefile.am include %D%/tests/configandwatch_test/Makefile.am @@ -68,4 +69,5 @@ include %D%/tests/socket_test/Makefile.am include %D%/tests/thread_test/Makefile.am include %D%/tests/timeformat_test/Makefile.am include %D%/tests/unit_tests/Makefile.am +endif diff --git a/README.md b/README.md index c735885ef..124b9045c 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,12 @@ separate shared library (liblog4cplusqt4debugappender) that implements `Qt4DebugAppender`. It requires Qt4 and pkg-config to be installed. +`--enable-tests` +--------------------- + +This option is enabled by default. It enables compilation of test executables. + + `--enable-unit-tests` --------------------- diff --git a/configure.ac b/configure.ac index 1e4d18401..43c83e5a1 100644 --- a/configure.ac +++ b/configure.ac @@ -126,6 +126,13 @@ AM_CONDITIONAL([BUILD_WITH_WCHAR_T_SUPPORT], AS_VAR_SET([BUILD_WITH_WCHAR_T_SUPPORT], [$with_wchar_t_support]) AC_SUBST([BUILD_WITH_WCHAR_T_SUPPORT]) +dnl Enable tests +LOG4CPLUS_ARG_ENABLE([tests], + [Enable tests [default=yes]], + [enable_tests=yes]) +AM_CONDITIONAL([ENABLE_TESTS], + [test "x$enable_tests" = "xyes"]) + dnl Enable unit tests LOG4CPLUS_ARG_ENABLE([unit-tests], From 9cb0d4ade619da4e40628c9b95ff51de3df29f1b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Feb 2019 16:06:18 +0100 Subject: [PATCH 056/353] Add entry to .comment ELF section with log4cplus version. --- src/version.cxx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/version.cxx b/src/version.cxx index a0e2ee8da..ce18212c5 100644 --- a/src/version.cxx +++ b/src/version.cxx @@ -1,15 +1,15 @@ // Copyright (C) 2010-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -34,4 +34,16 @@ namespace log4cplus unsigned const version = LOG4CPLUS_VERSION; char const versionStr[] = LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; -} +namespace +{ + +#if defined (__ELF__) && (defined (__GNUC__) || defined (__clang__)) +char const versionStrComment[] + __attribute__ ((__used__, __section__ ((".comment")))) + = "log4cplus " LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; +#endif + + +} // namespace + +} // namespace log4cplus From 8dbe4b0894761227d6169013c22f208679d85277 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 2 Mar 2019 20:30:49 +0100 Subject: [PATCH 057/353] Disable POSIX signals reception in threads of thread pool. Fixes #385. --- include/log4cplus/thread/threads.h | 15 +++++++++++++++ src/global-init.cxx | 11 ++++++++++- src/threads.cxx | 31 ++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/thread/threads.h b/include/log4cplus/thread/threads.h index 513f34831..c9ce7d4d5 100644 --- a/include/log4cplus/thread/threads.h +++ b/include/log4cplus/thread/threads.h @@ -47,6 +47,21 @@ LOG4CPLUS_EXPORT void setCurrentThreadName2(const log4cplus::tstring & name); LOG4CPLUS_EXPORT void yield(); LOG4CPLUS_EXPORT void blockAllSignals(); +/** + * This class blocks all POSIX signals when created and unblocks them when + * destroyed. + */ +class LOG4CPLUS_EXPORT SignalsBlocker +{ +public: + SignalsBlocker(); + ~SignalsBlocker(); + +private: + struct SignalsBlockerImpl; + std::unique_ptr impl; +}; + #ifndef LOG4CPLUS_SINGLE_THREADED diff --git a/src/global-init.cxx b/src/global-init.cxx index eaf3a2e08..ca800fa2a 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -131,6 +131,15 @@ Initializer::~Initializer () namespace { +static +std::unique_ptr +instantiate_thread_pool () +{ + log4cplus::thread::SignalsBlocker sb; + return std::unique_ptr(new progschj::ThreadPool); +} + + //! Default context. struct DefaultContext { @@ -146,7 +155,7 @@ struct DefaultContext spi::FilterFactoryRegistry filter_factory_registry; spi::LocaleFactoryRegistry locale_factory_registry; #if ! defined (LOG4CPLUS_SINGLE_THREADED) - std::unique_ptr thread_pool {new progschj::ThreadPool}; + std::unique_ptr thread_pool {instantiate_thread_pool ()}; #endif Hierarchy hierarchy; }; diff --git a/src/threads.cxx b/src/threads.cxx index cd003e938..eee9df6ba 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -202,6 +202,37 @@ LOG4CPLUS_EXPORT void setCurrentThreadName2(const log4cplus::tstring & name) } +// +// +// + +struct SignalsBlocker::SignalsBlockerImpl +{ +#if defined (LOG4CPLUS_USE_PTHREADS) + sigset_t signal_set; +#endif +}; + + +SignalsBlocker::SignalsBlocker () + : impl (new SignalsBlocker::SignalsBlockerImpl) +{ +#if defined (LOG4CPLUS_USE_PTHREADS) + sigset_t block_all_set; + sigfillset (&block_all_set); + (void) pthread_sigmask (SIG_BLOCK, &block_all_set, &impl->signal_set); +#endif +} + + +SignalsBlocker::~SignalsBlocker() +{ +#if defined (LOG4CPLUS_USE_PTHREADS) + (void) pthread_sigmask (SIG_BLOCK, &impl->signal_set, nullptr); +#endif +} + + #ifndef LOG4CPLUS_SINGLE_THREADED // From 8d95a4a9e5459d2eaae4721ac3441190dfc52567 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 2 Mar 2019 21:36:05 +0100 Subject: [PATCH 058/353] Improve pull request #384. --- Makefile.am | 34 ++ Makefile.am.def | 2 +- Makefile.am.tpl | 6 +- Makefile.in | 833 ++++++++++++++++++++++++------------------------ configure | 25 ++ 5 files changed, 483 insertions(+), 417 deletions(-) diff --git a/Makefile.am b/Makefile.am index c8e5e6c6e..907c9aaf2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -52,22 +52,56 @@ include %D%/swig/python/Makefile.am if ENABLE_TESTS include %D%/tests/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/appender_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/configandwatch_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/customloglevel_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/fileappender_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/filter_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/hierarchy_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/loglog_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/ndc_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/ostream_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/patternlayout_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/performance_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/priority_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/propertyconfig_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/socket_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/thread_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/timeformat_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/unit_tests/Makefile.am endif diff --git a/Makefile.am.def b/Makefile.am.def index ea86fc587..531d0d7bf 100644 --- a/Makefile.am.def +++ b/Makefile.am.def @@ -5,4 +5,4 @@ src-dirs = { name = simpleserver; }; src-dirs = { name = qt4debugappender; }; src-dirs = { name = qt5debugappender; }; src-dirs = { name = swig; }; -src-dirs = { name = tests; }; +src-dirs = { name = tests; conditional = ENABLE_TESTS; }; diff --git a/Makefile.am.tpl b/Makefile.am.tpl index ae72f52fe..a2de6153e 100644 --- a/Makefile.am.tpl +++ b/Makefile.am.tpl @@ -55,6 +55,10 @@ noinst_PROGRAMS= (emit "\n") (for-each (lambda (x) - (emit "include %D%/" x "\n")) + (if (not (string-null? (get "conditional"))) + (emit "if " (get "conditional") "\n")) + (emit "include %D%/" x "\n") + (if (not (string-null? (get "conditional"))) + (emit "endif\n"))) files))) =][= ENDFOR =] diff --git a/Makefile.in b/Makefile.in index 832770713..4b326f266 100644 --- a/Makefile.in +++ b/Makefile.in @@ -91,20 +91,18 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) \ - appender_test$(EXEEXT) $(am__EXEEXT_3) $(am__EXEEXT_4) \ - $(am__EXEEXT_5) customloglevel_test$(EXEEXT) $(am__EXEEXT_6) \ - fileappender_test$(EXEEXT) $(am__EXEEXT_7) \ - filter_test$(EXEEXT) $(am__EXEEXT_8) hierarchy_test$(EXEEXT) \ - $(am__EXEEXT_9) loglog_test$(EXEEXT) $(am__EXEEXT_10) \ - ndc_test$(EXEEXT) $(am__EXEEXT_11) ostream_test$(EXEEXT) \ - $(am__EXEEXT_12) patternlayout_test$(EXEEXT) $(am__EXEEXT_13) \ - performance_test$(EXEEXT) $(am__EXEEXT_14) \ - priority_test$(EXEEXT) $(am__EXEEXT_15) \ - propertyconfig_test$(EXEEXT) $(am__EXEEXT_16) \ - socket_test$(EXEEXT) $(am__EXEEXT_17) $(am__EXEEXT_18) \ - $(am__EXEEXT_19) timeformat_test$(EXEEXT) $(am__EXEEXT_20) \ - unit_tests$(EXEEXT) $(am__EXEEXT_21) +noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ + $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \ + $(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \ + $(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \ + $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) \ + $(am__EXEEXT_16) $(am__EXEEXT_17) $(am__EXEEXT_18) \ + $(am__EXEEXT_19) $(am__EXEEXT_20) $(am__EXEEXT_21) \ + $(am__EXEEXT_22) $(am__EXEEXT_23) $(am__EXEEXT_24) \ + $(am__EXEEXT_25) $(am__EXEEXT_26) $(am__EXEEXT_27) \ + $(am__EXEEXT_28) $(am__EXEEXT_29) $(am__EXEEXT_30) \ + $(am__EXEEXT_31) $(am__EXEEXT_32) $(am__EXEEXT_33) \ + $(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_1 = liblog4cplusU.la @MULTI_THREADED_TRUE@am__append_2 = loggingserver @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_3 = loggingserverU @@ -115,25 +113,41 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_8 = $(PYTHON_WRAPU_CXX) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_9 = log4cplusU.py @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = _log4cplusU.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_11 = appender_testU -@MULTI_THREADED_TRUE@am__append_12 = configandwatch_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_13 = configandwatch_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_14 = customloglevel_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_15 = fileappender_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_16 = filter_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_17 = hierarchy_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_18 = loglog_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_19 = ndc_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_20 = ostream_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_21 = patternlayout_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_22 = performance_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_23 = priority_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_24 = propertyconfig_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_25 = socket_testU -@MULTI_THREADED_TRUE@am__append_26 = thread_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_27 = thread_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_28 = timeformat_testU -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_29 = unit_testsU +@ENABLE_TESTS_TRUE@am__append_11 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in +@ENABLE_TESTS_TRUE@am__append_12 = appender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_13 = appender_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_14 = configandwatch_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_15 = configandwatch_testU +@ENABLE_TESTS_TRUE@am__append_16 = customloglevel_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_17 = customloglevel_testU +@ENABLE_TESTS_TRUE@am__append_18 = fileappender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_19 = fileappender_testU +@ENABLE_TESTS_TRUE@am__append_20 = filter_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_21 = filter_testU +@ENABLE_TESTS_TRUE@am__append_22 = hierarchy_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_23 = hierarchy_testU +@ENABLE_TESTS_TRUE@am__append_24 = loglog_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_25 = loglog_testU +@ENABLE_TESTS_TRUE@am__append_26 = ndc_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_27 = ndc_testU +@ENABLE_TESTS_TRUE@am__append_28 = ostream_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_29 = ostream_testU +@ENABLE_TESTS_TRUE@am__append_30 = patternlayout_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_31 = patternlayout_testU +@ENABLE_TESTS_TRUE@am__append_32 = performance_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_33 = performance_testU +@ENABLE_TESTS_TRUE@am__append_34 = priority_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_35 = priority_testU +@ENABLE_TESTS_TRUE@am__append_36 = propertyconfig_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_37 = propertyconfig_testU +@ENABLE_TESTS_TRUE@am__append_38 = socket_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = socket_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_40 = thread_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_41 = thread_testU +@ENABLE_TESTS_TRUE@am__append_42 = timeformat_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_43 = timeformat_testU +@ENABLE_TESTS_TRUE@am__append_44 = unit_tests +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ @@ -179,35 +193,41 @@ CONFIG_CLEAN_FILES = tests/atlocal log4cplus.pc \ CONFIG_CLEAN_VPATH_FILES = @MULTI_THREADED_TRUE@am__EXEEXT_1 = loggingserver$(EXEEXT) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_2 = loggingserverU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_3 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ appender_testU$(EXEEXT) -@MULTI_THREADED_TRUE@am__EXEEXT_4 = configandwatch_test$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_5 = configandwatch_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_6 = customloglevel_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_7 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ fileappender_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_8 = filter_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_9 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ hierarchy_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_10 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ loglog_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_11 = ndc_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_12 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ ostream_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_13 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ patternlayout_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_14 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ performance_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_15 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ priority_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_16 = propertyconfig_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_17 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ socket_testU$(EXEEXT) -@MULTI_THREADED_TRUE@am__EXEEXT_18 = thread_test$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_19 = thread_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_20 = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ timeformat_testU$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__EXEEXT_21 = unit_testsU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_3 = appender_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_4 = appender_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_5 = configandwatch_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_6 = configandwatch_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_7 = customloglevel_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_8 = customloglevel_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_9 = fileappender_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_10 = fileappender_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_11 = filter_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_12 = filter_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_13 = hierarchy_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_14 = hierarchy_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_15 = loglog_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_16 = loglog_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_17 = ndc_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_18 = ndc_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_19 = ostream_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_20 = ostream_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_21 = patternlayout_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_22 = patternlayout_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_23 = performance_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_24 = performance_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_25 = priority_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_26 = priority_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_27 = propertyconfig_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_28 = propertyconfig_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_29 = socket_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_30 = socket_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_31 = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ thread_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_32 = thread_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_33 = timeformat_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_34 = timeformat_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_35 = unit_tests$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_36 = unit_testsU$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ @@ -433,113 +453,107 @@ liblog4cplusqt5debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt5debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am_liblog4cplusqt5debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ -rpath $(libdir) -am__objects_14 = tests/appender_test/main.$(OBJEXT) -am_appender_test_OBJECTS = $(am__objects_14) +@ENABLE_TESTS_TRUE@am__objects_14 = \ +@ENABLE_TESTS_TRUE@ tests/appender_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_appender_test_OBJECTS = $(am__objects_14) appender_test_OBJECTS = $(am_appender_test_OBJECTS) -appender_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@appender_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) appender_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(appender_test_LDFLAGS) $(LDFLAGS) \ -o $@ -am__objects_15 = tests/appender_test/appender_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_appender_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_15) +@ENABLE_TESTS_TRUE@am__objects_15 = tests/appender_test/appender_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_appender_testU_OBJECTS = $(am__objects_15) appender_testU_OBJECTS = $(am_appender_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@appender_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_DEPENDENCIES = $(liblog4cplusU_la_file) appender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(appender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@MULTI_THREADED_TRUE@am__objects_16 = \ -@MULTI_THREADED_TRUE@ tests/configandwatch_test/main.$(OBJEXT) -@MULTI_THREADED_TRUE@am_configandwatch_test_OBJECTS = \ -@MULTI_THREADED_TRUE@ $(am__objects_16) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_16 = tests/configandwatch_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_test_OBJECTS = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_16) configandwatch_test_OBJECTS = $(am_configandwatch_test_OBJECTS) -@MULTI_THREADED_TRUE@configandwatch_test_DEPENDENCIES = \ -@MULTI_THREADED_TRUE@ $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_DEPENDENCIES = $(liblog4cplus_la_file) configandwatch_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@MULTI_THREADED_TRUE@am__objects_17 = tests/configandwatch_test/configandwatch_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_testU_OBJECTS = $(am__objects_17) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_17 = tests/configandwatch_test/configandwatch_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_testU_OBJECTS = $(am__objects_17) configandwatch_testU_OBJECTS = $(am_configandwatch_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_DEPENDENCIES = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_DEPENDENCIES = $(liblog4cplusU_la_file) configandwatch_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_18 = tests/customloglevel_test/func.$(OBJEXT) \ - tests/customloglevel_test/main.$(OBJEXT) -am_customloglevel_test_OBJECTS = $(am__objects_18) +@ENABLE_TESTS_TRUE@am__objects_18 = \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_customloglevel_test_OBJECTS = $(am__objects_18) customloglevel_test_OBJECTS = $(am_customloglevel_test_OBJECTS) -customloglevel_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@customloglevel_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) customloglevel_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_19 = \ - tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT) \ - tests/customloglevel_test/customloglevel_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_customloglevel_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_19) +@ENABLE_TESTS_TRUE@am__objects_19 = tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/customloglevel_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_customloglevel_testU_OBJECTS = $(am__objects_19) customloglevel_testU_OBJECTS = $(am_customloglevel_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@customloglevel_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_DEPENDENCIES = $(liblog4cplusU_la_file) customloglevel_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_20 = tests/fileappender_test/main.$(OBJEXT) -am_fileappender_test_OBJECTS = $(am__objects_20) +@ENABLE_TESTS_TRUE@am__objects_20 = \ +@ENABLE_TESTS_TRUE@ tests/fileappender_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_fileappender_test_OBJECTS = $(am__objects_20) fileappender_test_OBJECTS = $(am_fileappender_test_OBJECTS) -fileappender_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@fileappender_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) fileappender_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(fileappender_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_21 = \ - tests/fileappender_test/fileappender_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_fileappender_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_21) +@ENABLE_TESTS_TRUE@am__objects_21 = tests/fileappender_test/fileappender_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_fileappender_testU_OBJECTS = $(am__objects_21) fileappender_testU_OBJECTS = $(am_fileappender_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@fileappender_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_DEPENDENCIES = $(liblog4cplusU_la_file) fileappender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(fileappender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_22 = tests/filter_test/main.$(OBJEXT) -am_filter_test_OBJECTS = $(am__objects_22) +@ENABLE_TESTS_TRUE@am__objects_22 = tests/filter_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_filter_test_OBJECTS = $(am__objects_22) filter_test_OBJECTS = $(am_filter_test_OBJECTS) -filter_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@filter_test_DEPENDENCIES = $(liblog4cplus_la_file) filter_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(filter_test_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_23 = tests/filter_test/filter_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_filter_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_23) +@ENABLE_TESTS_TRUE@am__objects_23 = tests/filter_test/filter_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_filter_testU_OBJECTS = $(am__objects_23) filter_testU_OBJECTS = $(am_filter_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@filter_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_DEPENDENCIES = $(liblog4cplusU_la_file) filter_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(filter_testU_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_24 = tests/hierarchy_test/main.$(OBJEXT) -am_hierarchy_test_OBJECTS = $(am__objects_24) +@ENABLE_TESTS_TRUE@am__objects_24 = \ +@ENABLE_TESTS_TRUE@ tests/hierarchy_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_hierarchy_test_OBJECTS = $(am__objects_24) hierarchy_test_OBJECTS = $(am_hierarchy_test_OBJECTS) -hierarchy_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@hierarchy_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) hierarchy_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(hierarchy_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_25 = tests/hierarchy_test/hierarchy_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_hierarchy_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_25) +@ENABLE_TESTS_TRUE@am__objects_25 = tests/hierarchy_test/hierarchy_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_hierarchy_testU_OBJECTS = $(am__objects_25) hierarchy_testU_OBJECTS = $(am_hierarchy_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@hierarchy_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_DEPENDENCIES = $(liblog4cplusU_la_file) hierarchy_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(hierarchy_testU_LDFLAGS) \ @@ -554,196 +568,184 @@ loggingserver_OBJECTS = $(am_loggingserver_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_loggingserverU_OBJECTS = $(am__objects_27) loggingserverU_OBJECTS = $(am_loggingserverU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@loggingserverU_DEPENDENCIES = $(liblog4cplusU_la_file) -am__objects_28 = tests/loglog_test/main.$(OBJEXT) -am_loglog_test_OBJECTS = $(am__objects_28) +@ENABLE_TESTS_TRUE@am__objects_28 = tests/loglog_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_loglog_test_OBJECTS = $(am__objects_28) loglog_test_OBJECTS = $(am_loglog_test_OBJECTS) -loglog_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@loglog_test_DEPENDENCIES = $(liblog4cplus_la_file) loglog_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(loglog_test_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_29 = tests/loglog_test/loglog_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_loglog_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_29) +@ENABLE_TESTS_TRUE@am__objects_29 = tests/loglog_test/loglog_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_loglog_testU_OBJECTS = $(am__objects_29) loglog_testU_OBJECTS = $(am_loglog_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@loglog_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_DEPENDENCIES = $(liblog4cplusU_la_file) loglog_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(loglog_testU_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_30 = tests/ndc_test/main.$(OBJEXT) -am_ndc_test_OBJECTS = $(am__objects_30) +@ENABLE_TESTS_TRUE@am__objects_30 = tests/ndc_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_ndc_test_OBJECTS = $(am__objects_30) ndc_test_OBJECTS = $(am_ndc_test_OBJECTS) -ndc_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@ndc_test_DEPENDENCIES = $(liblog4cplus_la_file) ndc_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ndc_test_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_31 = tests/ndc_test/ndc_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_ndc_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_31) +@ENABLE_TESTS_TRUE@am__objects_31 = \ +@ENABLE_TESTS_TRUE@ tests/ndc_test/ndc_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ndc_testU_OBJECTS = $(am__objects_31) ndc_testU_OBJECTS = $(am_ndc_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ndc_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_DEPENDENCIES = $(liblog4cplusU_la_file) ndc_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ndc_testU_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_32 = tests/ostream_test/main.$(OBJEXT) -am_ostream_test_OBJECTS = $(am__objects_32) +@ENABLE_TESTS_TRUE@am__objects_32 = tests/ostream_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_ostream_test_OBJECTS = $(am__objects_32) ostream_test_OBJECTS = $(am_ostream_test_OBJECTS) -ostream_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@ostream_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) ostream_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ostream_test_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_33 = tests/ostream_test/ostream_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_ostream_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_33) +@ENABLE_TESTS_TRUE@am__objects_33 = tests/ostream_test/ostream_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ostream_testU_OBJECTS = $(am__objects_33) ostream_testU_OBJECTS = $(am_ostream_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ostream_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_DEPENDENCIES = $(liblog4cplusU_la_file) ostream_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(ostream_testU_LDFLAGS) $(LDFLAGS) \ -o $@ -am__objects_34 = tests/patternlayout_test/main.$(OBJEXT) -am_patternlayout_test_OBJECTS = $(am__objects_34) +@ENABLE_TESTS_TRUE@am__objects_34 = \ +@ENABLE_TESTS_TRUE@ tests/patternlayout_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_patternlayout_test_OBJECTS = $(am__objects_34) patternlayout_test_OBJECTS = $(am_patternlayout_test_OBJECTS) -patternlayout_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@patternlayout_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) patternlayout_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(patternlayout_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_35 = \ - tests/patternlayout_test/patternlayout_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_patternlayout_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_35) +@ENABLE_TESTS_TRUE@am__objects_35 = tests/patternlayout_test/patternlayout_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_patternlayout_testU_OBJECTS = $(am__objects_35) patternlayout_testU_OBJECTS = $(am_patternlayout_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@patternlayout_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_DEPENDENCIES = $(liblog4cplusU_la_file) patternlayout_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(patternlayout_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_36 = tests/performance_test/main.$(OBJEXT) -am_performance_test_OBJECTS = $(am__objects_36) +@ENABLE_TESTS_TRUE@am__objects_36 = \ +@ENABLE_TESTS_TRUE@ tests/performance_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_performance_test_OBJECTS = $(am__objects_36) performance_test_OBJECTS = $(am_performance_test_OBJECTS) -performance_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@performance_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) performance_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(performance_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_37 = \ - tests/performance_test/performance_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_performance_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_37) +@ENABLE_TESTS_TRUE@am__objects_37 = tests/performance_test/performance_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_performance_testU_OBJECTS = $(am__objects_37) performance_testU_OBJECTS = $(am_performance_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@performance_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_DEPENDENCIES = $(liblog4cplusU_la_file) performance_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(performance_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_38 = tests/priority_test/func.$(OBJEXT) \ - tests/priority_test/main.$(OBJEXT) -am_priority_test_OBJECTS = $(am__objects_38) +@ENABLE_TESTS_TRUE@am__objects_38 = \ +@ENABLE_TESTS_TRUE@ tests/priority_test/func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/priority_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_priority_test_OBJECTS = $(am__objects_38) priority_test_OBJECTS = $(am_priority_test_OBJECTS) -priority_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@priority_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) priority_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(priority_test_LDFLAGS) $(LDFLAGS) \ -o $@ -am__objects_39 = tests/priority_test/priority_testU-func.$(OBJEXT) \ - tests/priority_test/priority_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_priority_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_39) +@ENABLE_TESTS_TRUE@am__objects_39 = tests/priority_test/priority_testU-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/priority_test/priority_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_priority_testU_OBJECTS = $(am__objects_39) priority_testU_OBJECTS = $(am_priority_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@priority_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_DEPENDENCIES = $(liblog4cplusU_la_file) priority_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(priority_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_40 = tests/propertyconfig_test/main.$(OBJEXT) -am_propertyconfig_test_OBJECTS = $(am__objects_40) +@ENABLE_TESTS_TRUE@am__objects_40 = \ +@ENABLE_TESTS_TRUE@ tests/propertyconfig_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_propertyconfig_test_OBJECTS = $(am__objects_40) propertyconfig_test_OBJECTS = $(am_propertyconfig_test_OBJECTS) -propertyconfig_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@propertyconfig_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) propertyconfig_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(propertyconfig_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_41 = \ - tests/propertyconfig_test/propertyconfig_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_propertyconfig_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_41) +@ENABLE_TESTS_TRUE@am__objects_41 = tests/propertyconfig_test/propertyconfig_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_propertyconfig_testU_OBJECTS = $(am__objects_41) propertyconfig_testU_OBJECTS = $(am_propertyconfig_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@propertyconfig_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_DEPENDENCIES = $(liblog4cplusU_la_file) propertyconfig_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(propertyconfig_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_42 = tests/socket_test/main.$(OBJEXT) -am_socket_test_OBJECTS = $(am__objects_42) +@ENABLE_TESTS_TRUE@am__objects_42 = tests/socket_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_socket_test_OBJECTS = $(am__objects_42) socket_test_OBJECTS = $(am_socket_test_OBJECTS) -socket_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@socket_test_DEPENDENCIES = $(liblog4cplus_la_file) socket_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_test_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_43 = tests/socket_test/socket_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_socket_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_43) +@ENABLE_TESTS_TRUE@am__objects_43 = tests/socket_test/socket_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_socket_testU_OBJECTS = $(am__objects_43) socket_testU_OBJECTS = $(am_socket_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@socket_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_DEPENDENCIES = $(liblog4cplusU_la_file) socket_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_testU_LDFLAGS) $(LDFLAGS) -o $@ -@MULTI_THREADED_TRUE@am__objects_44 = \ -@MULTI_THREADED_TRUE@ tests/thread_test/main.$(OBJEXT) -@MULTI_THREADED_TRUE@am_thread_test_OBJECTS = $(am__objects_44) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_44 = tests/thread_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_test_OBJECTS = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_44) thread_test_OBJECTS = $(am_thread_test_OBJECTS) -@MULTI_THREADED_TRUE@thread_test_DEPENDENCIES = \ -@MULTI_THREADED_TRUE@ $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_DEPENDENCIES = $(liblog4cplus_la_file) thread_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_test_LDFLAGS) $(LDFLAGS) -o $@ -@MULTI_THREADED_TRUE@am__objects_45 = tests/thread_test/thread_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_45) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_45 = tests/thread_test/thread_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_45) thread_testU_OBJECTS = $(am_thread_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@thread_testU_DEPENDENCIES = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_DEPENDENCIES = $(liblog4cplusU_la_file) thread_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_testU_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_46 = tests/timeformat_test/main.$(OBJEXT) -am_timeformat_test_OBJECTS = $(am__objects_46) +@ENABLE_TESTS_TRUE@am__objects_46 = \ +@ENABLE_TESTS_TRUE@ tests/timeformat_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_timeformat_test_OBJECTS = $(am__objects_46) timeformat_test_OBJECTS = $(am_timeformat_test_OBJECTS) -timeformat_test_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@timeformat_test_DEPENDENCIES = \ +@ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) timeformat_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_test_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_47 = \ - tests/timeformat_test/timeformat_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_timeformat_testU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_47) +@ENABLE_TESTS_TRUE@am__objects_47 = tests/timeformat_test/timeformat_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_timeformat_testU_OBJECTS = $(am__objects_47) timeformat_testU_OBJECTS = $(am_timeformat_testU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@timeformat_testU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_DEPENDENCIES = $(liblog4cplusU_la_file) timeformat_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -am__objects_48 = tests/unit_tests/unit_tests.$(OBJEXT) -am_unit_tests_OBJECTS = $(am__objects_48) +@ENABLE_TESTS_TRUE@am__objects_48 = \ +@ENABLE_TESTS_TRUE@ tests/unit_tests/unit_tests.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_unit_tests_OBJECTS = $(am__objects_48) unit_tests_OBJECTS = $(am_unit_tests_OBJECTS) -unit_tests_DEPENDENCIES = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@unit_tests_DEPENDENCIES = $(liblog4cplus_la_file) unit_tests_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(unit_tests_LDFLAGS) $(LDFLAGS) -o $@ -am__objects_49 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_unit_testsU_OBJECTS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_49) +@ENABLE_TESTS_TRUE@am__objects_49 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_unit_testsU_OBJECTS = $(am__objects_49) unit_testsU_OBJECTS = $(am_unit_testsU_OBJECTS) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@unit_testsU_DEPENDENCIES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_DEPENDENCIES = $(liblog4cplusU_la_file) unit_testsU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(unit_testsU_LDFLAGS) $(LDFLAGS) -o $@ @@ -1201,8 +1203,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ AM_CXXFLAGS = @LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ AM_LDFLAGS = @LOG4CPLUS_PROFILING_LDFLAGS@ @LOG4CPLUS_LTO_LDFLAGS@ ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = ChangeLog log4cplus.pc.in tests/testsuite.at $(TESTSUITE) \ - tests/atlocal.in +EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_11) SUBDIRS = include pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = log4cplus.pc @@ -1391,201 +1392,201 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_LIBADD = $(liblog4cplusU_la_file) -TESTSUITE = tests/testsuite -AUTOTEST = $(AUTOM4TE) --language=Autotest -TESTSUITE_AT = \ - tests/appender_test.at \ - tests/configandwatch_test.at \ - tests/customloglevel_test.at \ - tests/fileappender_test.at \ - tests/filter_test.at \ - tests/headers.at \ - tests/hierarchy_test.at \ - tests/local.at \ - tests/loglog_test.at \ - tests/ndc_test.at \ - tests/ostream_test.at \ - tests/patternlayout_test.at \ - tests/performance_test.at \ - tests/priority_test.at \ - tests/propertyconfig_test.at \ - tests/testsuite.at \ - tests/thread_test.at \ - tests/timeformat_test.at \ - tests/unit_tests.at - -appender_test_sources = \ - tests/appender_test/main.cxx - -appender_test_SOURCES = $(appender_test_sources) -appender_test_LDADD = $(liblog4cplus_la_file) -appender_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@appender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@appender_testU_SOURCES = $(appender_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@appender_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@appender_testU_LDFLAGS = -no-install -@MULTI_THREADED_TRUE@configandwatch_test_sources = \ -@MULTI_THREADED_TRUE@ tests/configandwatch_test/main.cxx - -@MULTI_THREADED_TRUE@configandwatch_test_SOURCES = $(configandwatch_test_sources) -@MULTI_THREADED_TRUE@configandwatch_test_LDADD = $(liblog4cplus_la_file) -@MULTI_THREADED_TRUE@configandwatch_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_SOURCES = $(configandwatch_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDFLAGS = -no-install -customloglevel_test_sources = \ - tests/customloglevel_test/func.cxx \ - tests/customloglevel_test/main.cxx - -customloglevel_test_SOURCES = $(customloglevel_test_sources) -customloglevel_test_LDADD = $(liblog4cplus_la_file) -customloglevel_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@customloglevel_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@customloglevel_testU_SOURCES = $(customloglevel_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@customloglevel_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@customloglevel_testU_LDFLAGS = -no-install -fileappender_test_sources = \ - tests/fileappender_test/main.cxx - -fileappender_test_SOURCES = $(fileappender_test_sources) -fileappender_test_LDADD = $(liblog4cplus_la_file) -fileappender_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@fileappender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@fileappender_testU_SOURCES = $(fileappender_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@fileappender_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@fileappender_testU_LDFLAGS = -no-install -filter_test_sources = \ - tests/filter_test/main.cxx - -filter_test_SOURCES = $(filter_test_sources) -filter_test_LDADD = $(liblog4cplus_la_file) -filter_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@filter_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@filter_testU_SOURCES = $(filter_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@filter_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@filter_testU_LDFLAGS = -no-install -hierarchy_test_sources = \ - tests/hierarchy_test/main.cxx - -hierarchy_test_SOURCES = $(hierarchy_test_sources) -hierarchy_test_LDADD = $(liblog4cplus_la_file) -hierarchy_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@hierarchy_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@hierarchy_testU_SOURCES = $(hierarchy_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@hierarchy_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@hierarchy_testU_LDFLAGS = -no-install -loglog_test_sources = \ - tests/loglog_test/main.cxx - -loglog_test_SOURCES = $(loglog_test_sources) -loglog_test_LDADD = $(liblog4cplus_la_file) -loglog_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@loglog_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@loglog_testU_SOURCES = $(loglog_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@loglog_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@loglog_testU_LDFLAGS = -no-install -ndc_test_sources = \ - tests/ndc_test/main.cxx - -ndc_test_SOURCES = $(ndc_test_sources) -ndc_test_LDADD = $(liblog4cplus_la_file) -ndc_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ndc_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ndc_testU_SOURCES = $(ndc_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ndc_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ndc_testU_LDFLAGS = -no-install -ostream_test_sources = \ - tests/ostream_test/main.cxx - -ostream_test_SOURCES = $(ostream_test_sources) -ostream_test_LDADD = $(liblog4cplus_la_file) -ostream_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ostream_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ostream_testU_SOURCES = $(ostream_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ostream_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ostream_testU_LDFLAGS = -no-install -patternlayout_test_sources = \ - tests/patternlayout_test/main.cxx - -patternlayout_test_SOURCES = $(patternlayout_test_sources) -patternlayout_test_LDADD = $(liblog4cplus_la_file) -patternlayout_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@patternlayout_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@patternlayout_testU_SOURCES = $(patternlayout_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@patternlayout_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@patternlayout_testU_LDFLAGS = -no-install -performance_test_sources = \ - tests/performance_test/main.cxx - -performance_test_SOURCES = $(performance_test_sources) -performance_test_LDADD = $(liblog4cplus_la_file) -performance_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@performance_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@performance_testU_SOURCES = $(performance_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@performance_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@performance_testU_LDFLAGS = -no-install -priority_test_sources = \ - tests/priority_test/func.cxx \ - tests/priority_test/main.cxx - -priority_test_SOURCES = $(priority_test_sources) -priority_test_LDADD = $(liblog4cplus_la_file) -priority_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@priority_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@priority_testU_SOURCES = $(priority_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@priority_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@priority_testU_LDFLAGS = -no-install -propertyconfig_test_sources = \ - tests/propertyconfig_test/main.cxx - -propertyconfig_test_SOURCES = $(propertyconfig_test_sources) -propertyconfig_test_LDADD = $(liblog4cplus_la_file) -propertyconfig_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@propertyconfig_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@propertyconfig_testU_SOURCES = $(propertyconfig_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@propertyconfig_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@propertyconfig_testU_LDFLAGS = -no-install -socket_test_sources = \ - tests/socket_test/main.cxx - -socket_test_SOURCES = $(socket_test_sources) -socket_test_LDADD = $(liblog4cplus_la_file) -socket_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@socket_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@socket_testU_SOURCES = $(socket_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@socket_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@socket_testU_LDFLAGS = -no-install -@MULTI_THREADED_TRUE@thread_test_sources = \ -@MULTI_THREADED_TRUE@ tests/thread_test/main.cxx - -@MULTI_THREADED_TRUE@thread_test_SOURCES = $(thread_test_sources) -@MULTI_THREADED_TRUE@thread_test_LDADD = $(liblog4cplus_la_file) -@MULTI_THREADED_TRUE@thread_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@thread_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@thread_testU_SOURCES = $(thread_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@thread_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@thread_testU_LDFLAGS = -no-install -timeformat_test_sources = \ - tests/timeformat_test/main.cxx - -timeformat_test_SOURCES = $(timeformat_test_sources) -timeformat_test_LDADD = $(liblog4cplus_la_file) -timeformat_test_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@timeformat_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@timeformat_testU_SOURCES = $(timeformat_test_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@timeformat_testU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@timeformat_testU_LDFLAGS = -no-install -unit_tests_sources = \ - tests/unit_tests/unit_tests.cxx - -unit_tests_SOURCES = $(unit_tests_sources) -unit_tests_LDADD = $(liblog4cplus_la_file) -unit_tests_LDFLAGS = -no-install -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@unit_testsU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@unit_testsU_SOURCES = $(unit_tests_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@unit_testsU_LDADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@unit_testsU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@TESTSUITE = tests/testsuite +@ENABLE_TESTS_TRUE@AUTOTEST = $(AUTOM4TE) --language=Autotest +@ENABLE_TESTS_TRUE@TESTSUITE_AT = \ +@ENABLE_TESTS_TRUE@ tests/appender_test.at \ +@ENABLE_TESTS_TRUE@ tests/configandwatch_test.at \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test.at \ +@ENABLE_TESTS_TRUE@ tests/fileappender_test.at \ +@ENABLE_TESTS_TRUE@ tests/filter_test.at \ +@ENABLE_TESTS_TRUE@ tests/headers.at \ +@ENABLE_TESTS_TRUE@ tests/hierarchy_test.at \ +@ENABLE_TESTS_TRUE@ tests/local.at \ +@ENABLE_TESTS_TRUE@ tests/loglog_test.at \ +@ENABLE_TESTS_TRUE@ tests/ndc_test.at \ +@ENABLE_TESTS_TRUE@ tests/ostream_test.at \ +@ENABLE_TESTS_TRUE@ tests/patternlayout_test.at \ +@ENABLE_TESTS_TRUE@ tests/performance_test.at \ +@ENABLE_TESTS_TRUE@ tests/priority_test.at \ +@ENABLE_TESTS_TRUE@ tests/propertyconfig_test.at \ +@ENABLE_TESTS_TRUE@ tests/testsuite.at \ +@ENABLE_TESTS_TRUE@ tests/thread_test.at \ +@ENABLE_TESTS_TRUE@ tests/timeformat_test.at \ +@ENABLE_TESTS_TRUE@ tests/unit_tests.at + +@ENABLE_TESTS_TRUE@appender_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/appender_test/main.cxx + +@ENABLE_TESTS_TRUE@appender_test_SOURCES = $(appender_test_sources) +@ENABLE_TESTS_TRUE@appender_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@appender_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_SOURCES = $(appender_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_sources = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ tests/configandwatch_test/main.cxx + +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_SOURCES = $(configandwatch_test_sources) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_SOURCES = $(configandwatch_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@customloglevel_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/func.cxx \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/main.cxx + +@ENABLE_TESTS_TRUE@customloglevel_test_SOURCES = $(customloglevel_test_sources) +@ENABLE_TESTS_TRUE@customloglevel_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@customloglevel_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_SOURCES = $(customloglevel_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@fileappender_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/fileappender_test/main.cxx + +@ENABLE_TESTS_TRUE@fileappender_test_SOURCES = $(fileappender_test_sources) +@ENABLE_TESTS_TRUE@fileappender_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@fileappender_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_SOURCES = $(fileappender_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@filter_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/filter_test/main.cxx + +@ENABLE_TESTS_TRUE@filter_test_SOURCES = $(filter_test_sources) +@ENABLE_TESTS_TRUE@filter_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@filter_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_SOURCES = $(filter_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@hierarchy_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/hierarchy_test/main.cxx + +@ENABLE_TESTS_TRUE@hierarchy_test_SOURCES = $(hierarchy_test_sources) +@ENABLE_TESTS_TRUE@hierarchy_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@hierarchy_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_SOURCES = $(hierarchy_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@loglog_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/loglog_test/main.cxx + +@ENABLE_TESTS_TRUE@loglog_test_SOURCES = $(loglog_test_sources) +@ENABLE_TESTS_TRUE@loglog_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@loglog_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_SOURCES = $(loglog_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@ndc_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/ndc_test/main.cxx + +@ENABLE_TESTS_TRUE@ndc_test_SOURCES = $(ndc_test_sources) +@ENABLE_TESTS_TRUE@ndc_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@ndc_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_SOURCES = $(ndc_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@ostream_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/ostream_test/main.cxx + +@ENABLE_TESTS_TRUE@ostream_test_SOURCES = $(ostream_test_sources) +@ENABLE_TESTS_TRUE@ostream_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@ostream_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_SOURCES = $(ostream_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@patternlayout_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/patternlayout_test/main.cxx + +@ENABLE_TESTS_TRUE@patternlayout_test_SOURCES = $(patternlayout_test_sources) +@ENABLE_TESTS_TRUE@patternlayout_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@patternlayout_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_SOURCES = $(patternlayout_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@performance_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/performance_test/main.cxx + +@ENABLE_TESTS_TRUE@performance_test_SOURCES = $(performance_test_sources) +@ENABLE_TESTS_TRUE@performance_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@performance_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_SOURCES = $(performance_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@priority_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/priority_test/func.cxx \ +@ENABLE_TESTS_TRUE@ tests/priority_test/main.cxx + +@ENABLE_TESTS_TRUE@priority_test_SOURCES = $(priority_test_sources) +@ENABLE_TESTS_TRUE@priority_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@priority_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_SOURCES = $(priority_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@propertyconfig_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/propertyconfig_test/main.cxx + +@ENABLE_TESTS_TRUE@propertyconfig_test_SOURCES = $(propertyconfig_test_sources) +@ENABLE_TESTS_TRUE@propertyconfig_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@propertyconfig_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_SOURCES = $(propertyconfig_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@socket_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/socket_test/main.cxx + +@ENABLE_TESTS_TRUE@socket_test_SOURCES = $(socket_test_sources) +@ENABLE_TESTS_TRUE@socket_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@socket_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_SOURCES = $(socket_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_sources = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ tests/thread_test/main.cxx + +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_SOURCES = $(thread_test_sources) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_SOURCES = $(thread_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@timeformat_test_sources = \ +@ENABLE_TESTS_TRUE@ tests/timeformat_test/main.cxx + +@ENABLE_TESTS_TRUE@timeformat_test_SOURCES = $(timeformat_test_sources) +@ENABLE_TESTS_TRUE@timeformat_test_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@timeformat_test_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_SOURCES = $(timeformat_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@unit_tests_sources = \ +@ENABLE_TESTS_TRUE@ tests/unit_tests/unit_tests.cxx + +@ENABLE_TESTS_TRUE@unit_tests_SOURCES = $(unit_tests_sources) +@ENABLE_TESTS_TRUE@unit_tests_LDADD = $(liblog4cplus_la_file) +@ENABLE_TESTS_TRUE@unit_tests_LDFLAGS = -no-install +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_SOURCES = $(unit_tests_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_LDADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_LDFLAGS = -no-install all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -3851,6 +3852,7 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files +@ENABLE_TESTS_FALSE@check-local: check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: $(BUILT_SOURCES) @@ -3935,6 +3937,7 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +@ENABLE_TESTS_FALSE@clean-local: clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ @@ -4359,19 +4362,19 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigDATA \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ -I$(top_srcdir)/swig -o $(PYTHON_WRAPU_CXX) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(top_srcdir)/swig/log4cplus.swg -all: $(TESTSUITE) +@ENABLE_TESTS_TRUE@all: $(TESTSUITE) -$(TESTSUITE): $(TESTSUITE_AT) tests/atlocal.in - cd "$(abs_top_srcdir)" && $(AUTOTEST) -I tests tests/testsuite.at -o $@ +@ENABLE_TESTS_TRUE@$(TESTSUITE): $(TESTSUITE_AT) tests/atlocal.in +@ENABLE_TESTS_TRUE@ cd "$(abs_top_srcdir)" && $(AUTOTEST) -I tests tests/testsuite.at -o $@ -tests/atconfig: $(top_builddir)/config.status - cd "$(top_builddir)" && ./config.status $@ +@ENABLE_TESTS_TRUE@tests/atconfig: $(top_builddir)/config.status +@ENABLE_TESTS_TRUE@ cd "$(top_builddir)" && ./config.status $@ -check-local: tests/atconfig tests/atlocal $(TESTSUITE) - cd "$(top_builddir)/tests" && $(SHELL) "$(abs_top_srcdir)/$(TESTSUITE)" $(TESTSUITEFLAGS) +@ENABLE_TESTS_TRUE@check-local: tests/atconfig tests/atlocal $(TESTSUITE) +@ENABLE_TESTS_TRUE@ cd "$(top_builddir)/tests" && $(SHELL) "$(abs_top_srcdir)/$(TESTSUITE)" $(TESTSUITEFLAGS) -clean-local: - cd "$(top_builddir)/tests" && (test ! -f "$(abs_top_srcdir)/$(TESTSUITE)" || $(SHELL) "$(abs_top_srcdir)/$(TESTSUITE)" --clean) +@ENABLE_TESTS_TRUE@clean-local: +@ENABLE_TESTS_TRUE@ cd "$(top_builddir)/tests" && (test ! -f "$(abs_top_srcdir)/$(TESTSUITE)" || $(SHELL) "$(abs_top_srcdir)/$(TESTSUITE)" --clean) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/configure b/configure index eed1f644e..d8dfa435f 100755 --- a/configure +++ b/configure @@ -710,6 +710,8 @@ CXXDEPMODE ac_ct_CXX CXXFLAGS CXX +ENABLE_TESTS_FALSE +ENABLE_TESTS_TRUE BUILD_WITH_WCHAR_T_SUPPORT BUILD_WITH_WCHAR_T_SUPPORT_FALSE BUILD_WITH_WCHAR_T_SUPPORT_TRUE @@ -834,6 +836,7 @@ enable_so_version enable_release_version enable_symbols_visibility_options with_wchar_t_support +enable_tests enable_unit_tests enable_lto enable_profiling @@ -1512,6 +1515,7 @@ Optional Features: Use platform and compiler specific symbols visibility options, where they are available. [default=yes] + --enable-tests Enable tests [default=yes] --enable-unit-tests Enable unit tests [default=no] --enable-lto Enable LTO build [default=no] --enable-profiling Compile with profiling compiler options. @@ -4668,6 +4672,23 @@ fi BUILD_WITH_WCHAR_T_SUPPORT=$with_wchar_t_support +# Check whether --enable-tests was given. +if test "${enable_tests+set}" = set; then : + enableval=$enable_tests; + log4cplus_check_yesno_func "${enableval}" "--enable-tests" +else + enable_tests=yes +fi + + if test "x$enable_tests" = "xyes"; then + ENABLE_TESTS_TRUE= + ENABLE_TESTS_FALSE='#' +else + ENABLE_TESTS_TRUE='#' + ENABLE_TESTS_FALSE= +fi + + # Check whether --enable-unit-tests was given. if test "${enable_unit_tests+set}" = set; then : @@ -25313,6 +25334,10 @@ if test -z "${BUILD_WITH_WCHAR_T_SUPPORT_TRUE}" && test -z "${BUILD_WITH_WCHAR_T as_fn_error $? "conditional \"BUILD_WITH_WCHAR_T_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_TESTS_TRUE}" && test -z "${ENABLE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 From 3fbadc5063218c94f4694713d599da774cbbac86 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 2 Mar 2019 21:56:09 +0100 Subject: [PATCH 059/353] Fix compilation in single threaded configuration. Fixes #385. --- src/global-init.cxx | 4 +++- src/threads.cxx | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index ca800fa2a..6050b9136 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -131,6 +131,7 @@ Initializer::~Initializer () namespace { +#if ! defined (LOG4CPLUS_SINGLE_THREADED) static std::unique_ptr instantiate_thread_pool () @@ -138,6 +139,7 @@ instantiate_thread_pool () log4cplus::thread::SignalsBlocker sb; return std::unique_ptr(new progschj::ThreadPool); } +#endif //! Default context. @@ -571,7 +573,7 @@ threadCleanup () void -setThreadPoolSize (std::size_t pool_size) +setThreadPoolSize (std::size_t LOG4CPLUS_THREADED (pool_size)) { #if ! defined (LOG4CPLUS_SINGLE_THREADED) get_dc ()->thread_pool->set_pool_size (pool_size); diff --git a/src/threads.cxx b/src/threads.cxx index eee9df6ba..8025eaf03 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -53,9 +53,10 @@ #include #include +#include + #ifndef LOG4CPLUS_SINGLE_THREADED -#include #include #include #include From 9fdfe2b5b9badbd746d64ca47773c2b98d4e3772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 13 Mar 2019 12:31:32 +0100 Subject: [PATCH 060/353] Fix #390. --- src/threads.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/threads.cxx b/src/threads.cxx index 8025eaf03..47103ba96 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -229,7 +229,7 @@ SignalsBlocker::SignalsBlocker () SignalsBlocker::~SignalsBlocker() { #if defined (LOG4CPLUS_USE_PTHREADS) - (void) pthread_sigmask (SIG_BLOCK, &impl->signal_set, nullptr); + (void) pthread_sigmask (SIG_SETMASK, &impl->signal_set, nullptr); #endif } From b73d961d9500b2e4b63a9a4b4b133deb500922fd Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Tue, 26 Mar 2019 08:54:29 +0100 Subject: [PATCH 061/353] configure.ac: link with libatomic when needed On some architectures, atomic binutils are provided by the libatomic library from gcc. Linking with libatomic is therefore necessary, otherwise the build fails with: sparc-buildroot-linux-uclibc/sysroot/lib/libatomic.so.1: error adding symbols: DSO missing from command line This is often for example the case on sparcv8 32 bit. Fixes: - http://autobuild.buildroot.org/results/16e360cb91afff7655f459a3d1fb906ca48f8464 Signed-off-by: Fabrice Fontaine --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 43c83e5a1..e6fbcd10b 100644 --- a/configure.ac +++ b/configure.ac @@ -403,6 +403,7 @@ LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY], dnl Checks for libraries. +AC_SEARCH_LIBS([__atomic_fetch_and_4], [atomic]) AC_SEARCH_LIBS([strerror], [cposix]) dnl On some systems libcompat exists only as a static library which dnl breaks compilation of shared library log4cplus. From 0c71d362268345928e8070e85a684205474b4734 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 26 Mar 2019 19:47:20 +0100 Subject: [PATCH 062/353] Regenerate configure script. --- configure | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/configure b/configure index d8dfa435f..3cba8b015 100755 --- a/configure +++ b/configure @@ -10404,6 +10404,62 @@ fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing __atomic_fetch_and_4" >&5 +$as_echo_n "checking for library containing __atomic_fetch_and_4... " >&6; } +if ${ac_cv_search___atomic_fetch_and_4+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char __atomic_fetch_and_4 (); +int +main () +{ +return __atomic_fetch_and_4 (); + ; + return 0; +} +_ACEOF +for ac_lib in '' atomic; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search___atomic_fetch_and_4=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search___atomic_fetch_and_4+:} false; then : + break +fi +done +if ${ac_cv_search___atomic_fetch_and_4+:} false; then : + +else + ac_cv_search___atomic_fetch_and_4=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___atomic_fetch_and_4" >&5 +$as_echo "$ac_cv_search___atomic_fetch_and_4" >&6; } +ac_res=$ac_cv_search___atomic_fetch_and_4 +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if ${ac_cv_search_strerror+:} false; then : From 2251e596ab403a947248ec4bb90a37723450446c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Apr 2019 13:45:45 +0200 Subject: [PATCH 063/353] Define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING to fix #401. --- msvc14/log4cplus.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msvc14/log4cplus.props b/msvc14/log4cplus.props index fbf46d36e..ce79683ef 100644 --- a/msvc14/log4cplus.props +++ b/msvc14/log4cplus.props @@ -10,7 +10,7 @@ ..\include;..\threadpool;..\catch\single_include\catch2;%(AdditionalIncludeDirectories) - WIN32;_WIN32_WINNT=0x0600;WINVER=0x0600;INSIDE_LOG4CPLUS;LOG4CPLUS_WITH_UNIT_TESTS=1;CATCH_CONFIG_PREFIX_ALL=1;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + WIN32;_WIN32_WINNT=0x0600;WINVER=0x0600;INSIDE_LOG4CPLUS;LOG4CPLUS_WITH_UNIT_TESTS=1;CATCH_CONFIG_PREFIX_ALL=1;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions) true $(IntDir)$(ProjectName).pch $(IntDir) From b9c6ab422b2d4dfa1ccad72d1c5d88144f6854b0 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 9 Apr 2019 20:04:52 +0200 Subject: [PATCH 064/353] Do not allocate DefaultContext in waitUntilEmptyThreadPoolQueue(). It can be called through ~destroy_default_context() during global objects dtors execution. Fixes #278 or at least part of it. --- src/global-init.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 6050b9136..b1dc376bb 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -317,8 +317,8 @@ void waitUntilEmptyThreadPoolQueue () { #if ! defined (LOG4CPLUS_SINGLE_THREADED) - DefaultContext * const dc = get_dc (); - if (dc->thread_pool) + DefaultContext * const dc = get_dc (false); + if (dc && dc->thread_pool) { dc->thread_pool->wait_until_empty (); dc->thread_pool->wait_until_nothing_in_flight (); From faf96c6556c90e5f40ff4cf833dc4d40bb5583b8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 9 Apr 2019 20:14:23 +0200 Subject: [PATCH 065/353] Do not allocate DefaultContext in shutdownThreadPool(). This fixes #278 or its part. --- src/global-init.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index b1dc376bb..b04b44694 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -309,7 +309,13 @@ enqueueAsyncDoAppend (SharedAppenderPtr const & appender, void shutdownThreadPool () { - LOG4CPLUS_THREADED (get_dc ()->thread_pool.reset ()); +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + DefaultContext * const dc = get_dc (false); + if (dc && dc->thread_pool) + { + dc->thread_pool.reset (); + } +#endif } From 8ad9793c9481892d3bdf70522995aed1b0bfe100 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 9 Apr 2019 21:37:41 +0200 Subject: [PATCH 066/353] Adjust tests so that they work when implicit initialization is off. --- tests/configandwatch_test/main.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/configandwatch_test/main.cxx b/tests/configandwatch_test/main.cxx index e1bcc20de..d9c1b60c8 100644 --- a/tests/configandwatch_test/main.cxx +++ b/tests/configandwatch_test/main.cxx @@ -12,9 +12,9 @@ using namespace log4cplus; using namespace log4cplus::helpers; -Logger log_1 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_1")); -Logger log_2 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_2")); -Logger log_3 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_3")); +Logger log_1; +Logger log_2; +Logger log_3; void @@ -50,6 +50,10 @@ main(int argc, char * argv[]) tcout << LOG4CPLUS_TEXT("Entering main()...") << endl; log4cplus::Initializer initializer; + log_1 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_1")); + log_2 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_2")); + log_3 = Logger::getInstance(LOG4CPLUS_TEXT("test.log_3")); + LogLog::getLogLog()->setInternalDebugging(true); Logger root = Logger::getRoot(); try From 86e4b58fdb6d3be451a784a58df72d47b1e78d84 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 9 Apr 2019 21:40:34 +0200 Subject: [PATCH 067/353] Disable implicit initialization if requested. Add --enable-implicit-initialization configure option. This is enabled by default. Implicit initialization can now be turned off by providing --disable-implicit-initialization to the configure script. Change implementation of the same in CMakeFiles.txt. This is related to #282 and #365. --- CMakeLists.txt | 5 +++++ configure | 18 ++++++++++++++++++ configure.ac | 9 +++++++++ src/global-init.cxx | 27 +++++++++++++++++++++++++-- 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9977d39b5..c321bbb4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,11 @@ set (log4cplus_postfix "") option(LOG4CPLUS_BUILD_TESTING "Build the test suite." ON) option(LOG4CPLUS_BUILD_LOGGINGSERVER "Build the logging server." ON) +option(LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION "Require explicit initialization (see log4cplus::Initializer)" OFF) +if (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) + add_definitions (-DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1) +endif(LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) + if(NOT LOG4CPLUS_SINGLE_THREADED) find_package (Threads) message (STATUS "Threads: ${CMAKE_THREAD_LIBS_INIT}") diff --git a/configure b/configure index 3cba8b015..42f49b604 100755 --- a/configure +++ b/configure @@ -833,6 +833,7 @@ with_iconv enable_debugging enable_warnings enable_so_version +enable_implicit_initialization enable_release_version enable_symbols_visibility_options with_wchar_t_support @@ -1509,6 +1510,8 @@ Optional Features: --enable-warnings Use compiler warnings option, e.g. -Wall. [default=yes] --enable-so-version Use libtool -version-info option. [default=yes] + --enable-implicit-initialization + Initialize log4cplus implicitly. [default=yes] --enable-release-version Use libtool -release option. [default=yes] --enable-symbols-visibility-options @@ -4624,6 +4627,21 @@ fi +# Check whether --enable-implicit-initialization was given. +if test "${enable_implicit_initialization+set}" = set; then : + enableval=$enable_implicit_initialization; + log4cplus_check_yesno_func "${enableval}" "--enable-implicit-initialization" +else + enable_implicit_initialization=yes +fi + +if test "x$enable_implicit_initialization" = "xyes"; then : + +else + as_fn_append CPPFLAGS " -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1" +fi + + # Check whether --enable-release-version was given. if test "${enable_release_version+set}" = set; then : enableval=$enable_release_version; diff --git a/configure.ac b/configure.ac index e6fbcd10b..d31d91cab 100644 --- a/configure.ac +++ b/configure.ac @@ -100,6 +100,15 @@ LOG4CPLUS_ARG_ENABLE([so-version], AM_CONDITIONAL([ENABLE_VERSION_INFO_OPTION], [test "x$enable_so_version" = "xyes"]) +dnl Enable implicit initialization. + +LOG4CPLUS_ARG_ENABLE([implicit-initialization], + [Initialize log4cplus implicitly. [default=yes]], + [enable_implicit_initialization=yes]) +AS_IF([test "x$enable_implicit_initialization" = "xyes"], + [], + [AS_VAR_APPEND([CPPFLAGS], [" -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1"])]) + dnl Enable release version. LOG4CPLUS_ARG_ENABLE([release-version], diff --git a/src/global-init.cxx b/src/global-init.cxx index b04b44694..7c6dc8bb2 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -217,8 +217,21 @@ static DefaultContext * get_dc (bool alloc = true) { - if (LOG4CPLUS_UNLIKELY (! default_context && alloc)) - alloc_dc (); + if (LOG4CPLUS_UNLIKELY(!default_context)) + { + if (alloc) + { + alloc_dc(); + } + else + { +#ifdef LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION + throw std::logic_error("log4cplus is not initialized" + " and implicit initialization is turned off"); +#endif + } + } + return default_context; } @@ -747,11 +760,15 @@ PIMAGE_TLS_CALLBACK log4cplus_p_thread_callback_terminator = log4cplus::thread_c #ifdef _WIN64 #pragma comment (linker, "/INCLUDE:_tls_used") +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) #pragma comment (linker, "/INCLUDE:log4cplus_p_thread_callback_initializer") +#endif #pragma comment (linker, "/INCLUDE:log4cplus_p_thread_callback_terminator") #else #pragma comment (linker, "/INCLUDE:__tls_used") +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) #pragma comment (linker, "/INCLUDE:_log4cplus_p_thread_callback_initializer") +#endif #pragma comment (linker, "/INCLUDE:_log4cplus_p_thread_callback_terminator") #endif @@ -763,6 +780,7 @@ namespace { struct _static_log4cplus_initializer { +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) _static_log4cplus_initializer () { // It is not possible to reliably call initializeLog4cplus() here @@ -773,6 +791,7 @@ struct _static_log4cplus_initializer log4cplus::initializeLog4cplus (); #endif } +#endif ~_static_log4cplus_initializer () { @@ -788,6 +807,7 @@ struct _static_log4cplus_initializer #else // defined (WIN32) namespace { +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) static void _log4cplus_initializer_func () LOG4CPLUS_CONSTRUCTOR_FUNC (LOG4CPLUS_INIT_PRIORITY_BASE); @@ -796,13 +816,16 @@ _log4cplus_initializer_func () { log4cplus::initializeLog4cplus(); } +#endif struct _static_log4cplus_initializer { +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) _static_log4cplus_initializer () { log4cplus::initializeLog4cplus(); } +#endif ~_static_log4cplus_initializer () { From a492be2318ccacf84eeaa9d6b5d0f7ede9d0d6ea Mon Sep 17 00:00:00 2001 From: Frafjord Date: Mon, 10 Jul 2017 18:03:48 -0500 Subject: [PATCH 068/353] Initializing default_context withouth initializing this pointer, line 166 in global-init.cxx will cause an error down the call stack. (visual c++ 2015 debug mode) --- src/global-init.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 7c6dc8bb2..ab089d9ce 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -171,8 +171,8 @@ enum DCState }; -static DCState default_context_state; -static DefaultContext * default_context; +static DCState default_context_state = DC_UNINITIALIZED; +static DefaultContext * default_context = nullptr; struct destroy_default_context From ac66646a890f5a5e200c0c93a63299df5006e625 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 9 Apr 2019 22:45:38 +0200 Subject: [PATCH 069/353] Remove obsolete Android build support directory. Closes #283. --- android/android.toolchain.cmake | 1734 ---------------------- android/scripts/cmake_android.sh | 8 - android/scripts/cmake_android_armeabi.sh | 8 - android/scripts/cmake_android_mips.sh | 8 - android/scripts/cmake_android_neon.sh | 8 - android/scripts/cmake_android_x86.sh | 9 - 6 files changed, 1775 deletions(-) delete mode 100644 android/android.toolchain.cmake delete mode 100755 android/scripts/cmake_android.sh delete mode 100755 android/scripts/cmake_android_armeabi.sh delete mode 100755 android/scripts/cmake_android_mips.sh delete mode 100755 android/scripts/cmake_android_neon.sh delete mode 100755 android/scripts/cmake_android_x86.sh diff --git a/android/android.toolchain.cmake b/android/android.toolchain.cmake deleted file mode 100644 index 1d69b7504..000000000 --- a/android/android.toolchain.cmake +++ /dev/null @@ -1,1734 +0,0 @@ -# Copyright (c) 2010-2011, Ethan Rublee -# Copyright (c) 2011-2014, Andrey Kamaev -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from this -# software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -# ------------------------------------------------------------------------------ -# Android CMake toolchain file, for use with the Android NDK r5-r10d -# Requires cmake 2.6.3 or newer (2.8.9 or newer is recommended). -# See home page: https://github.com/taka-no-me/android-cmake -# -# Usage Linux: -# $ export ANDROID_NDK=/absolute/path/to/the/android-ndk -# $ mkdir build && cd build -# $ cmake -DCMAKE_TOOLCHAIN_FILE=path/to/the/android.toolchain.cmake .. -# $ make -j8 -# -# Usage Windows: -# You need native port of make to build your project. -# Android NDK r7 (and newer) already has make.exe on board. -# For older NDK you have to install it separately. -# For example, this one: http://gnuwin32.sourceforge.net/packages/make.htm -# -# $ SET ANDROID_NDK=C:\absolute\path\to\the\android-ndk -# $ mkdir build && cd build -# $ cmake.exe -G"MinGW Makefiles" -# -DCMAKE_TOOLCHAIN_FILE=path\to\the\android.toolchain.cmake -# -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows\bin\make.exe" .. -# $ cmake.exe --build . -# -# -# Options (can be set as cmake parameters: -D=): -# ANDROID_NDK=/opt/android-ndk - path to the NDK root. -# Can be set as environment variable. Can be set only at first cmake run. -# -# ANDROID_ABI=armeabi-v7a - specifies the target Application Binary -# Interface (ABI). This option nearly matches to the APP_ABI variable -# used by ndk-build tool from Android NDK. -# -# Possible targets are: -# "armeabi" - ARMv5TE based CPU with software floating point operations -# "armeabi-v7a" - ARMv7 based devices with hardware FPU instructions -# this ABI target is used by default -# "armeabi-v7a-hard with NEON" - ARMv7 based devices with hardware FPU instructions and hardfp -# "armeabi-v7a with NEON" - same as armeabi-v7a, but -# sets NEON as floating-point unit -# "armeabi-v7a with VFPV3" - same as armeabi-v7a, but -# sets VFPV3 as floating-point unit (has 32 registers instead of 16) -# "armeabi-v6 with VFP" - tuned for ARMv6 processors having VFP -# "x86" - IA-32 instruction set -# "mips" - MIPS32 instruction set -# -# 64-bit ABIs for NDK r10 and newer: -# "arm64-v8a" - ARMv8 AArch64 instruction set -# "x86_64" - Intel64 instruction set (r1) -# "mips64" - MIPS64 instruction set (r6) -# -# ANDROID_NATIVE_API_LEVEL=android-8 - level of Android API compile for. -# Option is read-only when standalone toolchain is used. -# Note: building for "android-L" requires explicit configuration. -# -# ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.9 - the name of compiler -# toolchain to be used. The list of possible values depends on the NDK -# version. For NDK r10c the possible values are: -# -# * aarch64-linux-android-4.9 -# * aarch64-linux-android-clang3.4 -# * aarch64-linux-android-clang3.5 -# * arm-linux-androideabi-4.6 -# * arm-linux-androideabi-4.8 -# * arm-linux-androideabi-4.9 (default) -# * arm-linux-androideabi-clang3.4 -# * arm-linux-androideabi-clang3.5 -# * mips64el-linux-android-4.9 -# * mips64el-linux-android-clang3.4 -# * mips64el-linux-android-clang3.5 -# * mipsel-linux-android-4.6 -# * mipsel-linux-android-4.8 -# * mipsel-linux-android-4.9 -# * mipsel-linux-android-clang3.4 -# * mipsel-linux-android-clang3.5 -# * x86-4.6 -# * x86-4.8 -# * x86-4.9 -# * x86-clang3.4 -# * x86-clang3.5 -# * x86_64-4.9 -# * x86_64-clang3.4 -# * x86_64-clang3.5 -# -# ANDROID_FORCE_ARM_BUILD=OFF - set ON to generate 32-bit ARM instructions -# instead of Thumb. Is not available for "armeabi-v6 with VFP" -# (is forced to be ON) ABI. -# -# ANDROID_NO_UNDEFINED=ON - set ON to show all undefined symbols as linker -# errors even if they are not used. -# -# ANDROID_SO_UNDEFINED=OFF - set ON to allow undefined symbols in shared -# libraries. Automatically turned for NDK r5x and r6x due to GLESv2 -# problems. -# -# ANDROID_STL=gnustl_static - specify the runtime to use. -# -# Possible values are: -# none -> Do not configure the runtime. -# system -> Use the default minimal system C++ runtime library. -# Implies -fno-rtti -fno-exceptions. -# Is not available for standalone toolchain. -# system_re -> Use the default minimal system C++ runtime library. -# Implies -frtti -fexceptions. -# Is not available for standalone toolchain. -# gabi++_static -> Use the GAbi++ runtime as a static library. -# Implies -frtti -fno-exceptions. -# Available for NDK r7 and newer. -# Is not available for standalone toolchain. -# gabi++_shared -> Use the GAbi++ runtime as a shared library. -# Implies -frtti -fno-exceptions. -# Available for NDK r7 and newer. -# Is not available for standalone toolchain. -# stlport_static -> Use the STLport runtime as a static library. -# Implies -fno-rtti -fno-exceptions for NDK before r7. -# Implies -frtti -fno-exceptions for NDK r7 and newer. -# Is not available for standalone toolchain. -# stlport_shared -> Use the STLport runtime as a shared library. -# Implies -fno-rtti -fno-exceptions for NDK before r7. -# Implies -frtti -fno-exceptions for NDK r7 and newer. -# Is not available for standalone toolchain. -# gnustl_static -> Use the GNU STL as a static library. -# Implies -frtti -fexceptions. -# gnustl_shared -> Use the GNU STL as a shared library. -# Implies -frtti -fno-exceptions. -# Available for NDK r7b and newer. -# Silently degrades to gnustl_static if not available. -# c++_static -> Use the LLVM libc++ runtime as a static library. -# Implies -frtti -fexceptions. -# c++_shared -> Use the LLVM libc++ runtime as a static library. -# Implies -frtti -fno-exceptions. -# -# ANDROID_STL_FORCE_FEATURES=ON - turn rtti and exceptions support based on -# chosen runtime. If disabled, then the user is responsible for settings -# these options. -# -# What?: -# android-cmake toolchain searches for NDK/toolchain in the following order: -# ANDROID_NDK - cmake parameter -# ANDROID_NDK - environment variable -# ANDROID_STANDALONE_TOOLCHAIN - cmake parameter -# ANDROID_STANDALONE_TOOLCHAIN - environment variable -# ANDROID_NDK - default locations -# ANDROID_STANDALONE_TOOLCHAIN - default locations -# -# Make sure to do the following in your scripts: -# SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${my_cxx_flags}" ) -# SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${my_cxx_flags}" ) -# The flags will be prepopulated with critical flags, so don't loose them. -# Also be aware that toolchain also sets configuration-specific compiler -# flags and linker flags. -# -# ANDROID and BUILD_ANDROID will be set to true, you may test any of these -# variables to make necessary Android-specific configuration changes. -# -# Also ARMEABI or ARMEABI_V7A or ARMEABI_V7A_HARD or X86 or MIPS or ARM64_V8A or X86_64 or MIPS64 -# will be set true, mutually exclusive. NEON option will be set true -# if VFP is set to NEON. -# -# ------------------------------------------------------------------------------ - -cmake_minimum_required( VERSION 2.6.3 ) - -if( DEFINED CMAKE_CROSSCOMPILING ) - # subsequent toolchain loading is not really needed - return() -endif() - -if( CMAKE_TOOLCHAIN_FILE ) - # touch toolchain variable to suppress "unused variable" warning -endif() - -# inherit settings in recursive loads -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if( _CMAKE_IN_TRY_COMPILE ) - include( "${CMAKE_CURRENT_SOURCE_DIR}/../android.toolchain.config.cmake" OPTIONAL ) -endif() - -# this one is important -if( CMAKE_VERSION VERSION_GREATER "3.0.99" ) - set( CMAKE_SYSTEM_NAME Android ) -else() - set( CMAKE_SYSTEM_NAME Linux ) -endif() - -# this one not so much -set( CMAKE_SYSTEM_VERSION 1 ) - -# rpath makes low sense for Android -set( CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "" ) -set( CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries." ) - -# NDK search paths -set( ANDROID_SUPPORTED_NDK_VERSIONS ${ANDROID_EXTRA_NDK_VERSIONS} -r10d -r10c -r10b -r10 -r9d -r9c -r9b -r9 -r8e -r8d -r8c -r8b -r8 -r7c -r7b -r7 -r6b -r6 -r5c -r5b -r5 "" ) -if( NOT DEFINED ANDROID_NDK_SEARCH_PATHS ) - if( CMAKE_HOST_WIN32 ) - file( TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ANDROID_NDK_SEARCH_PATHS ) - set( ANDROID_NDK_SEARCH_PATHS "${ANDROID_NDK_SEARCH_PATHS}" "$ENV{SystemDrive}/NVPACK" ) - else() - file( TO_CMAKE_PATH "$ENV{HOME}" ANDROID_NDK_SEARCH_PATHS ) - set( ANDROID_NDK_SEARCH_PATHS /opt "${ANDROID_NDK_SEARCH_PATHS}/NVPACK" ) - endif() -endif() -if( NOT DEFINED ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH ) - set( ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH /opt/android-toolchain ) -endif() - -# known ABIs -set( ANDROID_SUPPORTED_ABIS_arm "armeabi-v7a;armeabi;armeabi-v7a with NEON;armeabi-v7a-hard with NEON;armeabi-v7a with VFPV3;armeabi-v6 with VFP" ) -set( ANDROID_SUPPORTED_ABIS_arm64 "arm64-v8a" ) -set( ANDROID_SUPPORTED_ABIS_x86 "x86" ) -set( ANDROID_SUPPORTED_ABIS_x86_64 "x86_64" ) -set( ANDROID_SUPPORTED_ABIS_mips "mips" ) -set( ANDROID_SUPPORTED_ABIS_mips64 "mips64" ) - -# API level defaults -set( ANDROID_DEFAULT_NDK_API_LEVEL 9 ) -set( ANDROID_DEFAULT_NDK_API_LEVEL_arm64 21 ) -set( ANDROID_DEFAULT_NDK_API_LEVEL_x86 9 ) -set( ANDROID_DEFAULT_NDK_API_LEVEL_x86_64 21 ) -set( ANDROID_DEFAULT_NDK_API_LEVEL_mips 9 ) -set( ANDROID_DEFAULT_NDK_API_LEVEL_mips64 21 ) - - -macro( __LIST_FILTER listvar regex ) - if( ${listvar} ) - foreach( __val ${${listvar}} ) - if( __val MATCHES "${regex}" ) - list( REMOVE_ITEM ${listvar} "${__val}" ) - endif() - endforeach() - endif() -endmacro() - -macro( __INIT_VARIABLE var_name ) - set( __test_path 0 ) - foreach( __var ${ARGN} ) - if( __var STREQUAL "PATH" ) - set( __test_path 1 ) - break() - endif() - endforeach() - - if( __test_path AND NOT EXISTS "${${var_name}}" ) - unset( ${var_name} CACHE ) - endif() - - if( " ${${var_name}}" STREQUAL " " ) - set( __values 0 ) - foreach( __var ${ARGN} ) - if( __var STREQUAL "VALUES" ) - set( __values 1 ) - elseif( NOT __var STREQUAL "PATH" ) - if( __var MATCHES "^ENV_.*$" ) - string( REPLACE "ENV_" "" __var "${__var}" ) - set( __value "$ENV{${__var}}" ) - elseif( DEFINED ${__var} ) - set( __value "${${__var}}" ) - elseif( __values ) - set( __value "${__var}" ) - else() - set( __value "" ) - endif() - - if( NOT " ${__value}" STREQUAL " " AND (NOT __test_path OR EXISTS "${__value}") ) - set( ${var_name} "${__value}" ) - break() - endif() - endif() - endforeach() - unset( __value ) - unset( __values ) - endif() - - if( __test_path ) - file( TO_CMAKE_PATH "${${var_name}}" ${var_name} ) - endif() - unset( __test_path ) -endmacro() - -macro( __DETECT_NATIVE_API_LEVEL _var _path ) - set( __ndkApiLevelRegex "^[\t ]*#define[\t ]+__ANDROID_API__[\t ]+([0-9]+)[\t ]*.*$" ) - file( STRINGS ${_path} __apiFileContent REGEX "${__ndkApiLevelRegex}" ) - if( NOT __apiFileContent ) - message( SEND_ERROR "Could not get Android native API level. Probably you have specified invalid level value, or your copy of NDK/toolchain is broken." ) - endif() - string( REGEX REPLACE "${__ndkApiLevelRegex}" "\\1" ${_var} "${__apiFileContent}" ) - unset( __apiFileContent ) - unset( __ndkApiLevelRegex ) -endmacro() - -macro( __DETECT_TOOLCHAIN_MACHINE_NAME _var _root ) - if( EXISTS "${_root}" ) - file( GLOB __gccExePath RELATIVE "${_root}/bin/" "${_root}/bin/*-gcc${TOOL_OS_SUFFIX}" ) - __LIST_FILTER( __gccExePath "^[.].*" ) - list( LENGTH __gccExePath __gccExePathsCount ) - if( NOT __gccExePathsCount EQUAL 1 AND NOT _CMAKE_IN_TRY_COMPILE ) - message( WARNING "Could not determine machine name for compiler from ${_root}" ) - set( ${_var} "" ) - else() - get_filename_component( __gccExeName "${__gccExePath}" NAME_WE ) - string( REPLACE "-gcc" "" ${_var} "${__gccExeName}" ) - endif() - unset( __gccExePath ) - unset( __gccExePathsCount ) - unset( __gccExeName ) - else() - set( ${_var} "" ) - endif() -endmacro() - - -# fight against cygwin -set( ANDROID_FORBID_SYGWIN TRUE CACHE BOOL "Prevent cmake from working under cygwin and using cygwin tools") -mark_as_advanced( ANDROID_FORBID_SYGWIN ) -if( ANDROID_FORBID_SYGWIN ) - if( CYGWIN ) - message( FATAL_ERROR "Android NDK and android-cmake toolchain are not welcome Cygwin. It is unlikely that this cmake toolchain will work under cygwin. But if you want to try then you can set cmake variable ANDROID_FORBID_SYGWIN to FALSE and rerun cmake." ) - endif() - - if( CMAKE_HOST_WIN32 ) - # remove cygwin from PATH - set( __new_path "$ENV{PATH}") - __LIST_FILTER( __new_path "cygwin" ) - set(ENV{PATH} "${__new_path}") - unset(__new_path) - endif() -endif() - - -# detect current host platform -if( NOT DEFINED ANDROID_NDK_HOST_X64 AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64" OR CMAKE_HOST_APPLE) ) - set( ANDROID_NDK_HOST_X64 1 CACHE BOOL "Try to use 64-bit compiler toolchain" ) - mark_as_advanced( ANDROID_NDK_HOST_X64 ) -endif() - -set( TOOL_OS_SUFFIX "" ) -if( CMAKE_HOST_APPLE ) - set( ANDROID_NDK_HOST_SYSTEM_NAME "darwin-x86_64" ) - set( ANDROID_NDK_HOST_SYSTEM_NAME2 "darwin-x86" ) -elseif( CMAKE_HOST_WIN32 ) - set( ANDROID_NDK_HOST_SYSTEM_NAME "windows-x86_64" ) - set( ANDROID_NDK_HOST_SYSTEM_NAME2 "windows" ) - set( TOOL_OS_SUFFIX ".exe" ) -elseif( CMAKE_HOST_UNIX ) - set( ANDROID_NDK_HOST_SYSTEM_NAME "linux-x86_64" ) - set( ANDROID_NDK_HOST_SYSTEM_NAME2 "linux-x86" ) -else() - message( FATAL_ERROR "Cross-compilation on your platform is not supported by this cmake toolchain" ) -endif() - -if( NOT ANDROID_NDK_HOST_X64 ) - set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} ) -endif() - -# see if we have path to Android NDK -if( NOT ANDROID_NDK AND NOT ANDROID_STANDALONE_TOOLCHAIN ) - __INIT_VARIABLE( ANDROID_NDK PATH ENV_ANDROID_NDK ) -endif() -if( NOT ANDROID_NDK ) - # see if we have path to Android standalone toolchain - __INIT_VARIABLE( ANDROID_STANDALONE_TOOLCHAIN PATH ENV_ANDROID_STANDALONE_TOOLCHAIN ) - - if( NOT ANDROID_STANDALONE_TOOLCHAIN ) - #try to find Android NDK in one of the the default locations - set( __ndkSearchPaths ) - foreach( __ndkSearchPath ${ANDROID_NDK_SEARCH_PATHS} ) - foreach( suffix ${ANDROID_SUPPORTED_NDK_VERSIONS} ) - list( APPEND __ndkSearchPaths "${__ndkSearchPath}/android-ndk${suffix}" ) - endforeach() - endforeach() - __INIT_VARIABLE( ANDROID_NDK PATH VALUES ${__ndkSearchPaths} ) - unset( __ndkSearchPaths ) - - if( ANDROID_NDK ) - message( STATUS "Using default path for Android NDK: ${ANDROID_NDK}" ) - message( STATUS " If you prefer to use a different location, please define a cmake or environment variable: ANDROID_NDK" ) - else() - #try to find Android standalone toolchain in one of the the default locations - __INIT_VARIABLE( ANDROID_STANDALONE_TOOLCHAIN PATH ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH ) - - if( ANDROID_STANDALONE_TOOLCHAIN ) - message( STATUS "Using default path for standalone toolchain ${ANDROID_STANDALONE_TOOLCHAIN}" ) - message( STATUS " If you prefer to use a different location, please define the variable: ANDROID_STANDALONE_TOOLCHAIN" ) - endif( ANDROID_STANDALONE_TOOLCHAIN ) - endif( ANDROID_NDK ) - endif( NOT ANDROID_STANDALONE_TOOLCHAIN ) -endif( NOT ANDROID_NDK ) - -# remember found paths -if( ANDROID_NDK ) - get_filename_component( ANDROID_NDK "${ANDROID_NDK}" ABSOLUTE ) - set( ANDROID_NDK "${ANDROID_NDK}" CACHE INTERNAL "Path of the Android NDK" FORCE ) - set( BUILD_WITH_ANDROID_NDK True ) - if( EXISTS "${ANDROID_NDK}/RELEASE.TXT" ) - file( STRINGS "${ANDROID_NDK}/RELEASE.TXT" ANDROID_NDK_RELEASE_FULL LIMIT_COUNT 1 REGEX "r[0-9]+[a-z]?" ) - string( REGEX MATCH "r([0-9]+)([a-z]?)" ANDROID_NDK_RELEASE "${ANDROID_NDK_RELEASE_FULL}" ) - else() - set( ANDROID_NDK_RELEASE "r1x" ) - set( ANDROID_NDK_RELEASE_FULL "unreleased" ) - endif() - string( REGEX REPLACE "r([0-9]+)([a-z]?)" "\\1*1000" ANDROID_NDK_RELEASE_NUM "${ANDROID_NDK_RELEASE}" ) - string( FIND " abcdefghijklmnopqastuvwxyz" "${CMAKE_MATCH_2}" __ndkReleaseLetterNum ) - math( EXPR ANDROID_NDK_RELEASE_NUM "${ANDROID_NDK_RELEASE_NUM}+${__ndkReleaseLetterNum}" ) -elseif( ANDROID_STANDALONE_TOOLCHAIN ) - get_filename_component( ANDROID_STANDALONE_TOOLCHAIN "${ANDROID_STANDALONE_TOOLCHAIN}" ABSOLUTE ) - # try to detect change - if( CMAKE_AR ) - string( LENGTH "${ANDROID_STANDALONE_TOOLCHAIN}" __length ) - string( SUBSTRING "${CMAKE_AR}" 0 ${__length} __androidStandaloneToolchainPreviousPath ) - if( NOT __androidStandaloneToolchainPreviousPath STREQUAL ANDROID_STANDALONE_TOOLCHAIN ) - message( FATAL_ERROR "It is not possible to change path to the Android standalone toolchain on subsequent run." ) - endif() - unset( __androidStandaloneToolchainPreviousPath ) - unset( __length ) - endif() - set( ANDROID_STANDALONE_TOOLCHAIN "${ANDROID_STANDALONE_TOOLCHAIN}" CACHE INTERNAL "Path of the Android standalone toolchain" FORCE ) - set( BUILD_WITH_STANDALONE_TOOLCHAIN True ) -else() - list(GET ANDROID_NDK_SEARCH_PATHS 0 ANDROID_NDK_SEARCH_PATH) - message( FATAL_ERROR "Could not find neither Android NDK nor Android standalone toolchain. - You should either set an environment variable: - export ANDROID_NDK=~/my-android-ndk - or - export ANDROID_STANDALONE_TOOLCHAIN=~/my-android-toolchain - or put the toolchain or NDK in the default path: - sudo ln -s ~/my-android-ndk ${ANDROID_NDK_SEARCH_PATH}/android-ndk - sudo ln -s ~/my-android-toolchain ${ANDROID_STANDALONE_TOOLCHAIN_SEARCH_PATH}" ) -endif() - -# android NDK layout -if( BUILD_WITH_ANDROID_NDK ) - if( NOT DEFINED ANDROID_NDK_LAYOUT ) - # try to automatically detect the layout - if( EXISTS "${ANDROID_NDK}/RELEASE.TXT") - set( ANDROID_NDK_LAYOUT "RELEASE" ) - elseif( EXISTS "${ANDROID_NDK}/../../linux-x86/toolchain/" ) - set( ANDROID_NDK_LAYOUT "LINARO" ) - elseif( EXISTS "${ANDROID_NDK}/../../gcc/" ) - set( ANDROID_NDK_LAYOUT "ANDROID" ) - endif() - endif() - set( ANDROID_NDK_LAYOUT "${ANDROID_NDK_LAYOUT}" CACHE STRING "The inner layout of NDK" ) - mark_as_advanced( ANDROID_NDK_LAYOUT ) - if( ANDROID_NDK_LAYOUT STREQUAL "LINARO" ) - set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} ) # only 32-bit at the moment - set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/../../${ANDROID_NDK_HOST_SYSTEM_NAME}/toolchain" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH "" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "" ) - elseif( ANDROID_NDK_LAYOUT STREQUAL "ANDROID" ) - set( ANDROID_NDK_HOST_SYSTEM_NAME ${ANDROID_NDK_HOST_SYSTEM_NAME2} ) # only 32-bit at the moment - set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/../../gcc/${ANDROID_NDK_HOST_SYSTEM_NAME}/arm" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH "" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "" ) - else() # ANDROID_NDK_LAYOUT STREQUAL "RELEASE" - set( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK}/toolchains" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH "/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}" ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH2 "/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME2}" ) - endif() - get_filename_component( ANDROID_NDK_TOOLCHAINS_PATH "${ANDROID_NDK_TOOLCHAINS_PATH}" ABSOLUTE ) - - # try to detect change of NDK - if( CMAKE_AR ) - string( LENGTH "${ANDROID_NDK_TOOLCHAINS_PATH}" __length ) - string( SUBSTRING "${CMAKE_AR}" 0 ${__length} __androidNdkPreviousPath ) - if( NOT __androidNdkPreviousPath STREQUAL ANDROID_NDK_TOOLCHAINS_PATH ) - message( FATAL_ERROR "It is not possible to change the path to the NDK on subsequent CMake run. You must remove all generated files from your build folder first. - " ) - endif() - unset( __androidNdkPreviousPath ) - unset( __length ) - endif() -endif() - - -# get all the details about standalone toolchain -if( BUILD_WITH_STANDALONE_TOOLCHAIN ) - __DETECT_NATIVE_API_LEVEL( ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h" ) - set( ANDROID_STANDALONE_TOOLCHAIN_API_LEVEL ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} ) - set( __availableToolchains "standalone" ) - __DETECT_TOOLCHAIN_MACHINE_NAME( __availableToolchainMachines "${ANDROID_STANDALONE_TOOLCHAIN}" ) - if( NOT __availableToolchainMachines ) - message( FATAL_ERROR "Could not determine machine name of your toolchain. Probably your Android standalone toolchain is broken." ) - endif() - if( __availableToolchainMachines MATCHES x86_64 ) - set( __availableToolchainArchs "x86_64" ) - elseif( __availableToolchainMachines MATCHES i686 ) - set( __availableToolchainArchs "x86" ) - elseif( __availableToolchainMachines MATCHES aarch64 ) - set( __availableToolchainArchs "arm64" ) - elseif( __availableToolchainMachines MATCHES arm ) - set( __availableToolchainArchs "arm" ) - elseif( __availableToolchainMachines MATCHES mips64el ) - set( __availableToolchainArchs "mips64" ) - elseif( __availableToolchainMachines MATCHES mipsel ) - set( __availableToolchainArchs "mips" ) - endif() - execute_process( COMMAND "${ANDROID_STANDALONE_TOOLCHAIN}/bin/${__availableToolchainMachines}-gcc${TOOL_OS_SUFFIX}" -dumpversion - OUTPUT_VARIABLE __availableToolchainCompilerVersions OUTPUT_STRIP_TRAILING_WHITESPACE ) - string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9]+)?" __availableToolchainCompilerVersions "${__availableToolchainCompilerVersions}" ) - if( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${TOOL_OS_SUFFIX}" ) - list( APPEND __availableToolchains "standalone-clang" ) - list( APPEND __availableToolchainMachines ${__availableToolchainMachines} ) - list( APPEND __availableToolchainArchs ${__availableToolchainArchs} ) - list( APPEND __availableToolchainCompilerVersions ${__availableToolchainCompilerVersions} ) - endif() -endif() - -macro( __GLOB_NDK_TOOLCHAINS __availableToolchainsVar __availableToolchainsLst __toolchain_subpath ) - foreach( __toolchain ${${__availableToolchainsLst}} ) - if( "${__toolchain}" MATCHES "-clang3[.][0-9]$" AND NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${__toolchain}${__toolchain_subpath}" ) - SET( __toolchainVersionRegex "^TOOLCHAIN_VERSION[\t ]+:=[\t ]+(.*)$" ) - FILE( STRINGS "${ANDROID_NDK_TOOLCHAINS_PATH}/${__toolchain}/setup.mk" __toolchainVersionStr REGEX "${__toolchainVersionRegex}" ) - if( __toolchainVersionStr ) - string( REGEX REPLACE "${__toolchainVersionRegex}" "\\1" __toolchainVersionStr "${__toolchainVersionStr}" ) - string( REGEX REPLACE "-clang3[.][0-9]$" "-${__toolchainVersionStr}" __gcc_toolchain "${__toolchain}" ) - else() - string( REGEX REPLACE "-clang3[.][0-9]$" "-4.6" __gcc_toolchain "${__toolchain}" ) - endif() - unset( __toolchainVersionStr ) - unset( __toolchainVersionRegex ) - else() - set( __gcc_toolchain "${__toolchain}" ) - endif() - __DETECT_TOOLCHAIN_MACHINE_NAME( __machine "${ANDROID_NDK_TOOLCHAINS_PATH}/${__gcc_toolchain}${__toolchain_subpath}" ) - if( __machine ) - string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9x]+)?$" __version "${__gcc_toolchain}" ) - if( __machine MATCHES x86_64 ) - set( __arch "x86_64" ) - elseif( __machine MATCHES i686 ) - set( __arch "x86" ) - elseif( __machine MATCHES aarch64 ) - set( __arch "arm64" ) - elseif( __machine MATCHES arm ) - set( __arch "arm" ) - elseif( __machine MATCHES mips64el ) - set( __arch "mips64" ) - elseif( __machine MATCHES mipsel ) - set( __arch "mips" ) - else() - set( __arch "" ) - endif() - #message("machine: !${__machine}!\narch: !${__arch}!\nversion: !${__version}!\ntoolchain: !${__toolchain}!\n") - if (__arch) - list( APPEND __availableToolchainMachines "${__machine}" ) - list( APPEND __availableToolchainArchs "${__arch}" ) - list( APPEND __availableToolchainCompilerVersions "${__version}" ) - list( APPEND ${__availableToolchainsVar} "${__toolchain}" ) - endif() - endif() - unset( __gcc_toolchain ) - endforeach() -endmacro() - -# get all the details about NDK -if( BUILD_WITH_ANDROID_NDK ) - file( GLOB ANDROID_SUPPORTED_NATIVE_API_LEVELS RELATIVE "${ANDROID_NDK}/platforms" "${ANDROID_NDK}/platforms/android-*" ) - string( REPLACE "android-" "" ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_SUPPORTED_NATIVE_API_LEVELS}" ) - set( __availableToolchains "" ) - set( __availableToolchainMachines "" ) - set( __availableToolchainArchs "" ) - set( __availableToolchainCompilerVersions "" ) - if( ANDROID_TOOLCHAIN_NAME AND EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_TOOLCHAIN_NAME}/" ) - # do not go through all toolchains if we know the name - set( __availableToolchainsLst "${ANDROID_TOOLCHAIN_NAME}" ) - __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" ) - if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 ) - __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" ) - if( __availableToolchains ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH ${ANDROID_NDK_TOOLCHAINS_SUBPATH2} ) - endif() - endif() - endif() - if( NOT __availableToolchains ) - file( GLOB __availableToolchainsLst RELATIVE "${ANDROID_NDK_TOOLCHAINS_PATH}" "${ANDROID_NDK_TOOLCHAINS_PATH}/*" ) - if( __availableToolchainsLst ) - list(SORT __availableToolchainsLst) # we need clang to go after gcc - endif() - __LIST_FILTER( __availableToolchainsLst "^[.]" ) - __LIST_FILTER( __availableToolchainsLst "llvm" ) - __LIST_FILTER( __availableToolchainsLst "renderscript" ) - __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH}" ) - if( NOT __availableToolchains AND NOT ANDROID_NDK_TOOLCHAINS_SUBPATH STREQUAL ANDROID_NDK_TOOLCHAINS_SUBPATH2 ) - __GLOB_NDK_TOOLCHAINS( __availableToolchains __availableToolchainsLst "${ANDROID_NDK_TOOLCHAINS_SUBPATH2}" ) - if( __availableToolchains ) - set( ANDROID_NDK_TOOLCHAINS_SUBPATH ${ANDROID_NDK_TOOLCHAINS_SUBPATH2} ) - endif() - endif() - endif() - if( NOT __availableToolchains ) - message( FATAL_ERROR "Could not find any working toolchain in the NDK. Probably your Android NDK is broken." ) - endif() -endif() - -# build list of available ABIs -set( ANDROID_SUPPORTED_ABIS "" ) -set( __uniqToolchainArchNames ${__availableToolchainArchs} ) -list( REMOVE_DUPLICATES __uniqToolchainArchNames ) -list( SORT __uniqToolchainArchNames ) -foreach( __arch ${__uniqToolchainArchNames} ) - list( APPEND ANDROID_SUPPORTED_ABIS ${ANDROID_SUPPORTED_ABIS_${__arch}} ) -endforeach() -unset( __uniqToolchainArchNames ) -if( NOT ANDROID_SUPPORTED_ABIS ) - message( FATAL_ERROR "No one of known Android ABIs is supported by this cmake toolchain." ) -endif() - -# choose target ABI -__INIT_VARIABLE( ANDROID_ABI VALUES ${ANDROID_SUPPORTED_ABIS} ) -# verify that target ABI is supported -list( FIND ANDROID_SUPPORTED_ABIS "${ANDROID_ABI}" __androidAbiIdx ) -if( __androidAbiIdx EQUAL -1 ) - string( REPLACE ";" "\", \"" PRINTABLE_ANDROID_SUPPORTED_ABIS "${ANDROID_SUPPORTED_ABIS}" ) - message( FATAL_ERROR "Specified ANDROID_ABI = \"${ANDROID_ABI}\" is not supported by this cmake toolchain or your NDK/toolchain. - Supported values are: \"${PRINTABLE_ANDROID_SUPPORTED_ABIS}\" - " ) -endif() -unset( __androidAbiIdx ) - -# set target ABI options -if( ANDROID_ABI STREQUAL "x86" ) - set( X86 true ) - set( ANDROID_NDK_ABI_NAME "x86" ) - set( ANDROID_ARCH_NAME "x86" ) - set( ANDROID_LLVM_TRIPLE "i686-none-linux-android" ) - set( CMAKE_SYSTEM_PROCESSOR "i686" ) -elseif( ANDROID_ABI STREQUAL "x86_64" ) - set( X86 true ) - set( X86_64 true ) - set( ANDROID_NDK_ABI_NAME "x86_64" ) - set( ANDROID_ARCH_NAME "x86_64" ) - set( CMAKE_SYSTEM_PROCESSOR "x86_64" ) - set( ANDROID_LLVM_TRIPLE "x86_64-none-linux-android" ) -elseif( ANDROID_ABI STREQUAL "mips64" ) - set( MIPS64 true ) - set( ANDROID_NDK_ABI_NAME "mips64" ) - set( ANDROID_ARCH_NAME "mips64" ) - set( ANDROID_LLVM_TRIPLE "mips64el-none-linux-android" ) - set( CMAKE_SYSTEM_PROCESSOR "mips64" ) -elseif( ANDROID_ABI STREQUAL "mips" ) - set( MIPS true ) - set( ANDROID_NDK_ABI_NAME "mips" ) - set( ANDROID_ARCH_NAME "mips" ) - set( ANDROID_LLVM_TRIPLE "mipsel-none-linux-android" ) - set( CMAKE_SYSTEM_PROCESSOR "mips" ) -elseif( ANDROID_ABI STREQUAL "arm64-v8a" ) - set( ARM64_V8A true ) - set( ANDROID_NDK_ABI_NAME "arm64-v8a" ) - set( ANDROID_ARCH_NAME "arm64" ) - set( ANDROID_LLVM_TRIPLE "aarch64-none-linux-android" ) - set( CMAKE_SYSTEM_PROCESSOR "aarch64" ) - set( VFPV3 true ) - set( NEON true ) -elseif( ANDROID_ABI STREQUAL "armeabi" ) - set( ARMEABI true ) - set( ANDROID_NDK_ABI_NAME "armeabi" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv5te-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv5te" ) -elseif( ANDROID_ABI STREQUAL "armeabi-v6 with VFP" ) - set( ARMEABI_V6 true ) - set( ANDROID_NDK_ABI_NAME "armeabi" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv5te-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv6" ) - # need always fallback to older platform - set( ARMEABI true ) -elseif( ANDROID_ABI STREQUAL "armeabi-v7a") - set( ARMEABI_V7A true ) - set( ANDROID_NDK_ABI_NAME "armeabi-v7a" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv7-a" ) -elseif( ANDROID_ABI STREQUAL "armeabi-v7a with VFPV3" ) - set( ARMEABI_V7A true ) - set( ANDROID_NDK_ABI_NAME "armeabi-v7a" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv7-a" ) - set( VFPV3 true ) -elseif( ANDROID_ABI STREQUAL "armeabi-v7a with NEON" ) - set( ARMEABI_V7A true ) - set( ANDROID_NDK_ABI_NAME "armeabi-v7a" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv7-a" ) - set( VFPV3 true ) - set( NEON true ) -elseif( ANDROID_ABI STREQUAL "armeabi-v7a-hard with NEON" ) - set( ARMEABI_V7A_HARD true ) - set( ANDROID_NDK_ABI_NAME "armeabi-v7a-hard" ) - set( ANDROID_ARCH_NAME "arm" ) - set( ANDROID_LLVM_TRIPLE "armv7-none-linux-androideabi" ) - set( CMAKE_SYSTEM_PROCESSOR "armv7-a" ) - set( VFPV3 true ) - set( NEON true ) -else() - message( SEND_ERROR "Unknown ANDROID_ABI=\"${ANDROID_ABI}\" is specified." ) -endif() - -if( CMAKE_BINARY_DIR AND EXISTS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake" ) - # really dirty hack - # it is not possible to change CMAKE_SYSTEM_PROCESSOR after the first run... - file( APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake" "SET(CMAKE_SYSTEM_PROCESSOR \"${CMAKE_SYSTEM_PROCESSOR}\")\n" ) -endif() - -if( ANDROID_ARCH_NAME STREQUAL "arm" AND NOT ARMEABI_V6 ) - __INIT_VARIABLE( ANDROID_FORCE_ARM_BUILD VALUES OFF ) - set( ANDROID_FORCE_ARM_BUILD ${ANDROID_FORCE_ARM_BUILD} CACHE BOOL "Use 32-bit ARM instructions instead of Thumb-1" FORCE ) - mark_as_advanced( ANDROID_FORCE_ARM_BUILD ) -else() - unset( ANDROID_FORCE_ARM_BUILD CACHE ) -endif() - -# choose toolchain -if( ANDROID_TOOLCHAIN_NAME ) - list( FIND __availableToolchains "${ANDROID_TOOLCHAIN_NAME}" __toolchainIdx ) - if( __toolchainIdx EQUAL -1 ) - list( SORT __availableToolchains ) - string( REPLACE ";" "\n * " toolchains_list "${__availableToolchains}" ) - set( toolchains_list " * ${toolchains_list}") - message( FATAL_ERROR "Specified toolchain \"${ANDROID_TOOLCHAIN_NAME}\" is missing in your NDK or broken. Please verify that your NDK is working or select another compiler toolchain. -To configure the toolchain set CMake variable ANDROID_TOOLCHAIN_NAME to one of the following values:\n${toolchains_list}\n" ) - endif() - list( GET __availableToolchainArchs ${__toolchainIdx} __toolchainArch ) - if( NOT __toolchainArch STREQUAL ANDROID_ARCH_NAME ) - message( SEND_ERROR "Selected toolchain \"${ANDROID_TOOLCHAIN_NAME}\" is not able to compile binaries for the \"${ANDROID_ARCH_NAME}\" platform." ) - endif() -else() - set( __toolchainIdx -1 ) - set( __applicableToolchains "" ) - set( __toolchainMaxVersion "0.0.0" ) - list( LENGTH __availableToolchains __availableToolchainsCount ) - math( EXPR __availableToolchainsCount "${__availableToolchainsCount}-1" ) - foreach( __idx RANGE ${__availableToolchainsCount} ) - list( GET __availableToolchainArchs ${__idx} __toolchainArch ) - if( __toolchainArch STREQUAL ANDROID_ARCH_NAME ) - list( GET __availableToolchainCompilerVersions ${__idx} __toolchainVersion ) - string( REPLACE "x" "99" __toolchainVersion "${__toolchainVersion}") - if( __toolchainVersion VERSION_GREATER __toolchainMaxVersion ) - set( __toolchainMaxVersion "${__toolchainVersion}" ) - set( __toolchainIdx ${__idx} ) - endif() - endif() - endforeach() - unset( __availableToolchainsCount ) - unset( __toolchainMaxVersion ) - unset( __toolchainVersion ) -endif() -unset( __toolchainArch ) -if( __toolchainIdx EQUAL -1 ) - message( FATAL_ERROR "No one of available compiler toolchains is able to compile for ${ANDROID_ARCH_NAME} platform." ) -endif() -list( GET __availableToolchains ${__toolchainIdx} ANDROID_TOOLCHAIN_NAME ) -list( GET __availableToolchainMachines ${__toolchainIdx} ANDROID_TOOLCHAIN_MACHINE_NAME ) -list( GET __availableToolchainCompilerVersions ${__toolchainIdx} ANDROID_COMPILER_VERSION ) - -unset( __toolchainIdx ) -unset( __availableToolchains ) -unset( __availableToolchainMachines ) -unset( __availableToolchainArchs ) -unset( __availableToolchainCompilerVersions ) - -# choose native API level -__INIT_VARIABLE( ANDROID_NATIVE_API_LEVEL ENV_ANDROID_NATIVE_API_LEVEL ANDROID_API_LEVEL ENV_ANDROID_API_LEVEL ANDROID_STANDALONE_TOOLCHAIN_API_LEVEL ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME} ANDROID_DEFAULT_NDK_API_LEVEL ) -string( REPLACE "android-" "" ANDROID_NATIVE_API_LEVEL "${ANDROID_NATIVE_API_LEVEL}" ) -string( STRIP "${ANDROID_NATIVE_API_LEVEL}" ANDROID_NATIVE_API_LEVEL ) -# adjust API level -set( __real_api_level ${ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME}} ) -foreach( __level ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} ) - if( (__level LESS ANDROID_NATIVE_API_LEVEL OR __level STREQUAL ANDROID_NATIVE_API_LEVEL) AND NOT __level LESS __real_api_level ) - set( __real_api_level ${__level} ) - endif() -endforeach() -if( __real_api_level AND NOT ANDROID_NATIVE_API_LEVEL STREQUAL __real_api_level ) - message( STATUS "Adjusting Android API level 'android-${ANDROID_NATIVE_API_LEVEL}' to 'android-${__real_api_level}'") - set( ANDROID_NATIVE_API_LEVEL ${__real_api_level} ) -endif() -unset(__real_api_level) -# validate -list( FIND ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_NATIVE_API_LEVEL}" __levelIdx ) -if( __levelIdx EQUAL -1 ) - message( SEND_ERROR "Specified Android native API level 'android-${ANDROID_NATIVE_API_LEVEL}' is not supported by your NDK/toolchain." ) -else() - if( BUILD_WITH_ANDROID_NDK ) - __DETECT_NATIVE_API_LEVEL( __realApiLevel "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}/usr/include/android/api-level.h" ) - if( NOT __realApiLevel EQUAL ANDROID_NATIVE_API_LEVEL AND NOT __realApiLevel GREATER 9000 ) - message( SEND_ERROR "Specified Android API level (${ANDROID_NATIVE_API_LEVEL}) does not match to the level found (${__realApiLevel}). Probably your copy of NDK is broken." ) - endif() - unset( __realApiLevel ) - endif() - set( ANDROID_NATIVE_API_LEVEL "${ANDROID_NATIVE_API_LEVEL}" CACHE STRING "Android API level for native code" FORCE ) - set( CMAKE_ANDROID_API ${ANDROID_NATIVE_API_LEVEL} ) - if( CMAKE_VERSION VERSION_GREATER "2.8" ) - list( SORT ANDROID_SUPPORTED_NATIVE_API_LEVELS ) - set_property( CACHE ANDROID_NATIVE_API_LEVEL PROPERTY STRINGS ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} ) - endif() -endif() -unset( __levelIdx ) - - -# remember target ABI -set( ANDROID_ABI "${ANDROID_ABI}" CACHE STRING "The target ABI for Android. If arm, then armeabi-v7a is recommended for hardware floating point." FORCE ) -if( CMAKE_VERSION VERSION_GREATER "2.8" ) - list( SORT ANDROID_SUPPORTED_ABIS_${ANDROID_ARCH_NAME} ) - set_property( CACHE ANDROID_ABI PROPERTY STRINGS ${ANDROID_SUPPORTED_ABIS_${ANDROID_ARCH_NAME}} ) -endif() - - -# runtime choice (STL, rtti, exceptions) -if( NOT ANDROID_STL ) - set( ANDROID_STL gnustl_static ) -endif() -set( ANDROID_STL "${ANDROID_STL}" CACHE STRING "C++ runtime" ) -set( ANDROID_STL_FORCE_FEATURES ON CACHE BOOL "automatically configure rtti and exceptions support based on C++ runtime" ) -mark_as_advanced( ANDROID_STL ANDROID_STL_FORCE_FEATURES ) - -if( BUILD_WITH_ANDROID_NDK ) - if( NOT "${ANDROID_STL}" MATCHES "^(none|system|system_re|gabi\\+\\+_static|gabi\\+\\+_shared|stlport_static|stlport_shared|gnustl_static|gnustl_shared|c\\+\\+_static|c\\+\\+_shared)$") - message( FATAL_ERROR "ANDROID_STL is set to invalid value \"${ANDROID_STL}\". -The possible values are: - none -> Do not configure the runtime. - system -> Use the default minimal system C++ runtime library. - system_re -> Same as system but with rtti and exceptions. - gabi++_static -> Use the GAbi++ runtime as a static library. - gabi++_shared -> Use the GAbi++ runtime as a shared library. - stlport_static -> Use the STLport runtime as a static library. - stlport_shared -> Use the STLport runtime as a shared library. - gnustl_static -> (default) Use the GNU STL as a static library. - gnustl_shared -> Use the GNU STL as a shared library. - c++_shared -> Use the LLVM libc++ runtime as a shared library. - c++_static -> Use the LLVM libc++ runtime as a static library. -" ) - endif() -elseif( BUILD_WITH_STANDALONE_TOOLCHAIN ) - if( NOT "${ANDROID_STL}" MATCHES "^(none|gnustl_static|gnustl_shared|c\\+\\+_static|c\\+\\+_shared)$") - message( FATAL_ERROR "ANDROID_STL is set to invalid value \"${ANDROID_STL}\". -The possible values are: - none -> Do not configure the runtime. - gnustl_static -> (default) Use the GNU STL as a static library. - gnustl_shared -> Use the GNU STL as a shared library. - c++_shared -> Use the LLVM libc++ runtime as a shared library. - c++_static -> Use the LLVM libc++ runtime as a static library. -" ) - endif() -endif() - -unset( ANDROID_RTTI ) -unset( ANDROID_EXCEPTIONS ) -unset( ANDROID_STL_INCLUDE_DIRS ) -unset( __libstl ) -unset( __libsupcxx ) - -if( NOT _CMAKE_IN_TRY_COMPILE AND ANDROID_NDK_RELEASE STREQUAL "r7b" AND ARMEABI_V7A AND NOT VFPV3 AND ANDROID_STL MATCHES "gnustl" ) - message( WARNING "The GNU STL armeabi-v7a binaries from NDK r7b can crash non-NEON devices. The files provided with NDK r7b were not configured properly, resulting in crashes on Tegra2-based devices and others when trying to use certain floating-point functions (e.g., cosf, sinf, expf). -You are strongly recommended to switch to another NDK release. -" ) -endif() - -if( NOT _CMAKE_IN_TRY_COMPILE AND X86 AND ANDROID_STL MATCHES "gnustl" AND ANDROID_NDK_RELEASE STREQUAL "r6" ) - message( WARNING "The x86 system header file from NDK r6 has incorrect definition for ptrdiff_t. You are recommended to upgrade to a newer NDK release or manually patch the header: -See https://android.googlesource.com/platform/development.git f907f4f9d4e56ccc8093df6fee54454b8bcab6c2 - diff --git a/ndk/platforms/android-9/arch-x86/include/machine/_types.h b/ndk/platforms/android-9/arch-x86/include/machine/_types.h - index 5e28c64..65892a1 100644 - --- a/ndk/platforms/android-9/arch-x86/include/machine/_types.h - +++ b/ndk/platforms/android-9/arch-x86/include/machine/_types.h - @@ -51,7 +51,11 @@ typedef long int ssize_t; - #endif - #ifndef _PTRDIFF_T - #define _PTRDIFF_T - -typedef long ptrdiff_t; - +# ifdef __ANDROID__ - + typedef int ptrdiff_t; - +# else - + typedef long ptrdiff_t; - +# endif - #endif -" ) -endif() - - -# setup paths and STL for standalone toolchain -if( BUILD_WITH_STANDALONE_TOOLCHAIN ) - set( ANDROID_TOOLCHAIN_ROOT "${ANDROID_STANDALONE_TOOLCHAIN}" ) - set( ANDROID_CLANG_TOOLCHAIN_ROOT "${ANDROID_STANDALONE_TOOLCHAIN}" ) - set( ANDROID_SYSROOT "${ANDROID_STANDALONE_TOOLCHAIN}/sysroot" ) - - if( NOT ANDROID_STL STREQUAL "none" ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/include/c++/${ANDROID_COMPILER_VERSION}" ) - if( NOT EXISTS "${ANDROID_STL_INCLUDE_DIRS}" ) - # old location ( pre r8c ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/include/c++/${ANDROID_COMPILER_VERSION}" ) - endif() - if( (ARMEABI_V7A OR ARMEABI_V7A_HARD) AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}/bits" ) - list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/${CMAKE_SYSTEM_PROCESSOR}" ) - elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb/bits" ) - list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/thumb" ) - else() - list( APPEND ANDROID_STL_INCLUDE_DIRS "${ANDROID_STL_INCLUDE_DIRS}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" ) - endif() - # always search static GNU STL to get the location of libsupc++.a - if( (ARMEABI_V7A OR ARMEABI_V7A_HARD) AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb/libstdc++.a" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb" ) - elseif( (ARMEABI_V7A OR ARMEABI_V7A_HARD) AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libstdc++.a" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}" ) - elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libstdc++.a" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb" ) - elseif( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libstdc++.a" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib" ) - endif() - if( __libstl ) - set( __libsupcxx "${__libstl}/libsupc++.a" ) - set( __libstl "${__libstl}/libstdc++.a" ) - endif() - if( NOT EXISTS "${__libsupcxx}" ) - message( FATAL_ERROR "The required libstdsupc++.a is missing in your standalone toolchain. - Usually it happens because of bug in make-standalone-toolchain.sh script from NDK r7, r7b and r7c. - You need to either upgrade to newer NDK or manually copy - $ANDROID_NDK/sources/cxx-stl/gnu-libstdc++/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a - to - ${__libsupcxx} - " ) - endif() - if( ANDROID_STL STREQUAL "gnustl_shared" ) - if( (ARMEABI_V7A OR ARMEABI_V7A_HARD) AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libgnustl_shared.so" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libgnustl_shared.so" ) - elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD AND EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libgnustl_shared.so" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libgnustl_shared.so" ) - elseif( EXISTS "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libgnustl_shared.so" ) - set( __libstl "${ANDROID_STANDALONE_TOOLCHAIN}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libgnustl_shared.so" ) - endif() - endif() - endif() -endif() - -# clang -if( "${ANDROID_TOOLCHAIN_NAME}" STREQUAL "standalone-clang" ) - set( ANDROID_COMPILER_IS_CLANG 1 ) - execute_process( COMMAND "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/clang${TOOL_OS_SUFFIX}" --version OUTPUT_VARIABLE ANDROID_CLANG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) - string( REGEX MATCH "[0-9]+[.][0-9]+" ANDROID_CLANG_VERSION "${ANDROID_CLANG_VERSION}") -elseif( "${ANDROID_TOOLCHAIN_NAME}" MATCHES "-clang3[.][0-9]?$" ) - string( REGEX MATCH "3[.][0-9]$" ANDROID_CLANG_VERSION "${ANDROID_TOOLCHAIN_NAME}") - string( REGEX REPLACE "-clang${ANDROID_CLANG_VERSION}$" "-${ANDROID_COMPILER_VERSION}" ANDROID_GCC_TOOLCHAIN_NAME "${ANDROID_TOOLCHAIN_NAME}" ) - if( NOT EXISTS "${ANDROID_NDK_TOOLCHAINS_PATH}/llvm-${ANDROID_CLANG_VERSION}${ANDROID_NDK_TOOLCHAINS_SUBPATH}/bin/clang${TOOL_OS_SUFFIX}" ) - message( FATAL_ERROR "Could not find the Clang compiler driver" ) - endif() - set( ANDROID_COMPILER_IS_CLANG 1 ) - set( ANDROID_CLANG_TOOLCHAIN_ROOT "${ANDROID_NDK_TOOLCHAINS_PATH}/llvm-${ANDROID_CLANG_VERSION}${ANDROID_NDK_TOOLCHAINS_SUBPATH}" ) -else() - set( ANDROID_GCC_TOOLCHAIN_NAME "${ANDROID_TOOLCHAIN_NAME}" ) - unset( ANDROID_COMPILER_IS_CLANG CACHE ) -endif() - -string( REPLACE "." "" _clang_name "clang${ANDROID_CLANG_VERSION}" ) -if( NOT EXISTS "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" ) - set( _clang_name "clang" ) -endif() - - -# setup paths and STL for NDK -if( BUILD_WITH_ANDROID_NDK ) - set( ANDROID_TOOLCHAIN_ROOT "${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}${ANDROID_NDK_TOOLCHAINS_SUBPATH}" ) - set( ANDROID_SYSROOT "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}" ) - - if( ANDROID_STL STREQUAL "none" ) - # do nothing - elseif( ANDROID_STL STREQUAL "system" ) - set( ANDROID_RTTI OFF ) - set( ANDROID_EXCEPTIONS OFF ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/system/include" ) - elseif( ANDROID_STL STREQUAL "system_re" ) - set( ANDROID_RTTI ON ) - set( ANDROID_EXCEPTIONS ON ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/system/include" ) - elseif( ANDROID_STL MATCHES "gabi" ) - if( ANDROID_NDK_RELEASE_NUM LESS 7000 ) # before r7 - message( FATAL_ERROR "gabi++ is not available in your NDK. You have to upgrade to NDK r7 or newer to use gabi++.") - endif() - set( ANDROID_RTTI ON ) - set( ANDROID_EXCEPTIONS OFF ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/gabi++/include" ) - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gabi++/libs/${ANDROID_NDK_ABI_NAME}/libgabi++_static.a" ) - elseif( ANDROID_STL MATCHES "stlport" ) - if( NOT ANDROID_NDK_RELEASE_NUM LESS 8004 ) # before r8d - set( ANDROID_EXCEPTIONS ON ) - else() - set( ANDROID_EXCEPTIONS OFF ) - endif() - if( ANDROID_NDK_RELEASE_NUM LESS 7000 ) # before r7 - set( ANDROID_RTTI OFF ) - else() - set( ANDROID_RTTI ON ) - endif() - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/cxx-stl/stlport/stlport" ) - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/stlport/libs/${ANDROID_NDK_ABI_NAME}/libstlport_static.a" ) - elseif( ANDROID_STL MATCHES "gnustl" ) - set( ANDROID_EXCEPTIONS ON ) - set( ANDROID_RTTI ON ) - if( EXISTS "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}" ) - if( ARMEABI_V7A AND ANDROID_COMPILER_VERSION VERSION_EQUAL "4.7" AND ANDROID_NDK_RELEASE STREQUAL "r8d" ) - # gnustl binary for 4.7 compiler is buggy :( - # TODO: look for right fix - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/4.6" ) - else() - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}" ) - endif() - else() - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++" ) - endif() - set( ANDROID_STL_INCLUDE_DIRS "${__libstl}/include" "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/include" "${__libstl}/include/backward" ) - if( EXISTS "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libgnustl_static.a" ) - set( __libstl "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libgnustl_static.a" ) - else() - set( __libstl "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libstdc++.a" ) - endif() - elseif( ANDROID_STL MATCHES "c\\+\\+" ) - set( ANDROID_EXCEPTIONS ON ) - set( ANDROID_RTTI ON ) - set( __libstl "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++" ) - set( __libstl "${__libstl}/libs/${ANDROID_NDK_ABI_NAME}/libc++_static.a" ) - set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/android/support/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libcxx/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/libcxxabi/include" ) - else() - message( FATAL_ERROR "Unknown runtime: ${ANDROID_STL}" ) - endif() - - # find libsupc++.a - rtti & exceptions - if( ANDROID_STL STREQUAL "system_re" OR ANDROID_STL MATCHES "gnustl" ) - set( __libsupcxx "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_COMPILER_VERSION}/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a" ) # r8b or newer - if( NOT EXISTS "${__libsupcxx}" ) - set( __libsupcxx "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/libs/${ANDROID_NDK_ABI_NAME}/libsupc++.a" ) # r7-r8 - endif() - if( NOT EXISTS "${__libsupcxx}" ) # before r7 - if( ARMEABI_V7A ) - if( ANDROID_FORCE_ARM_BUILD ) - set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/libsupc++.a" ) - else() - set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/${CMAKE_SYSTEM_PROCESSOR}/thumb/libsupc++.a" ) - endif() - elseif( ARMEABI AND NOT ANDROID_FORCE_ARM_BUILD ) - set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/thumb/libsupc++.a" ) - else() - set( __libsupcxx "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}/lib/libsupc++.a" ) - endif() - endif() - if( NOT EXISTS "${__libsupcxx}") - message( ERROR "Could not find libsupc++.a for a chosen platform. Either your NDK is not supported or is broken.") - endif() - endif() -endif() - - -# case of shared STL linkage -if( ANDROID_STL MATCHES "shared" AND DEFINED __libstl ) - string( REPLACE "_static.a" "_shared.so" __libstl "${__libstl}" ) - if( NOT EXISTS "${__libstl}" ) - message( FATAL_ERROR "Unable to find shared library ${__libstl}" ) - endif() -endif() - - -# ccache support -__INIT_VARIABLE( _ndk_ccache NDK_CCACHE ENV_NDK_CCACHE ) -if( _ndk_ccache ) - if( DEFINED NDK_CCACHE AND NOT EXISTS NDK_CCACHE ) - unset( NDK_CCACHE CACHE ) - endif() - find_program( NDK_CCACHE "${_ndk_ccache}" DOC "The path to ccache binary") -else() - unset( NDK_CCACHE CACHE ) -endif() -unset( _ndk_ccache ) - - -# setup the cross-compiler -if( NOT CMAKE_C_COMPILER ) - if( NDK_CCACHE AND NOT ANDROID_SYSROOT MATCHES "[ ;\"]" ) - set( CMAKE_C_COMPILER "${NDK_CCACHE}" CACHE PATH "ccache as C compiler" ) - set( CMAKE_CXX_COMPILER "${NDK_CCACHE}" CACHE PATH "ccache as C++ compiler" ) - if( ANDROID_COMPILER_IS_CLANG ) - set( CMAKE_C_COMPILER_ARG1 "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" CACHE PATH "C compiler") - set( CMAKE_CXX_COMPILER_ARG1 "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler") - else() - set( CMAKE_C_COMPILER_ARG1 "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "C compiler") - set( CMAKE_CXX_COMPILER_ARG1 "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-g++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler") - endif() - else() - if( ANDROID_COMPILER_IS_CLANG ) - set( CMAKE_C_COMPILER "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}${TOOL_OS_SUFFIX}" CACHE PATH "C compiler") - set( CMAKE_CXX_COMPILER "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/${_clang_name}++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler") - else() - set( CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "C compiler" ) - set( CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-g++${TOOL_OS_SUFFIX}" CACHE PATH "C++ compiler" ) - endif() - endif() - set( CMAKE_ASM_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}" CACHE PATH "assembler" ) - set( CMAKE_STRIP "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-strip${TOOL_OS_SUFFIX}" CACHE PATH "strip" ) - if( EXISTS "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc-ar${TOOL_OS_SUFFIX}" ) - # Use gcc-ar if we have it for better LTO support. - set( CMAKE_AR "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc-ar${TOOL_OS_SUFFIX}" CACHE PATH "archive" ) - else() - set( CMAKE_AR "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ar${TOOL_OS_SUFFIX}" CACHE PATH "archive" ) - endif() - set( CMAKE_LINKER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ld${TOOL_OS_SUFFIX}" CACHE PATH "linker" ) - set( CMAKE_NM "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-nm${TOOL_OS_SUFFIX}" CACHE PATH "nm" ) - set( CMAKE_OBJCOPY "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objcopy${TOOL_OS_SUFFIX}" CACHE PATH "objcopy" ) - set( CMAKE_OBJDUMP "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objdump${TOOL_OS_SUFFIX}" CACHE PATH "objdump" ) - set( CMAKE_RANLIB "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ranlib${TOOL_OS_SUFFIX}" CACHE PATH "ranlib" ) -endif() - -set( _CMAKE_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_MACHINE_NAME}-" ) -if( CMAKE_VERSION VERSION_LESS 2.8.5 ) - set( CMAKE_ASM_COMPILER_ARG1 "-c" ) -endif() -if( APPLE ) - find_program( CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool ) - if( NOT CMAKE_INSTALL_NAME_TOOL ) - message( FATAL_ERROR "Could not find install_name_tool, please check your installation." ) - endif() - mark_as_advanced( CMAKE_INSTALL_NAME_TOOL ) -endif() - -# Force set compilers because standard identification works badly for us -include( CMakeForceCompiler ) -CMAKE_FORCE_C_COMPILER( "${CMAKE_C_COMPILER}" GNU ) -if( ANDROID_COMPILER_IS_CLANG ) - set( CMAKE_C_COMPILER_ID Clang ) -endif() -set( CMAKE_C_PLATFORM_ID Linux ) -if( X86_64 OR MIPS64 OR ARM64_V8A ) - set( CMAKE_C_SIZEOF_DATA_PTR 8 ) -else() - set( CMAKE_C_SIZEOF_DATA_PTR 4 ) -endif() -set( CMAKE_C_HAS_ISYSROOT 1 ) -set( CMAKE_C_COMPILER_ABI ELF ) -CMAKE_FORCE_CXX_COMPILER( "${CMAKE_CXX_COMPILER}" GNU ) -if( ANDROID_COMPILER_IS_CLANG ) - set( CMAKE_CXX_COMPILER_ID Clang) -endif() -set( CMAKE_CXX_PLATFORM_ID Linux ) -set( CMAKE_CXX_SIZEOF_DATA_PTR ${CMAKE_C_SIZEOF_DATA_PTR} ) -set( CMAKE_CXX_HAS_ISYSROOT 1 ) -set( CMAKE_CXX_COMPILER_ABI ELF ) -set( CMAKE_CXX_SOURCE_FILE_EXTENSIONS cc cp cxx cpp CPP c++ C ) -# force ASM compiler (required for CMake < 2.8.5) -set( CMAKE_ASM_COMPILER_ID_RUN TRUE ) -set( CMAKE_ASM_COMPILER_ID GNU ) -set( CMAKE_ASM_COMPILER_WORKS TRUE ) -set( CMAKE_ASM_COMPILER_FORCED TRUE ) -set( CMAKE_COMPILER_IS_GNUASM 1) -set( CMAKE_ASM_SOURCE_FILE_EXTENSIONS s S asm ) - -foreach( lang C CXX ASM ) - if( ANDROID_COMPILER_IS_CLANG ) - set( CMAKE_${lang}_COMPILER_VERSION ${ANDROID_CLANG_VERSION} ) - else() - set( CMAKE_${lang}_COMPILER_VERSION ${ANDROID_COMPILER_VERSION} ) - endif() -endforeach() - -# flags and definitions -remove_definitions( -DANDROID ) -add_definitions( -DANDROID ) - -if( ANDROID_SYSROOT MATCHES "[ ;\"]" ) - if( CMAKE_HOST_WIN32 ) - # try to convert path to 8.3 form - file( WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cvt83.cmd" "@echo %~s1" ) - execute_process( COMMAND "$ENV{ComSpec}" /c "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cvt83.cmd" "${ANDROID_SYSROOT}" - OUTPUT_VARIABLE __path OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE __result ERROR_QUIET ) - if( __result EQUAL 0 ) - file( TO_CMAKE_PATH "${__path}" ANDROID_SYSROOT ) - set( ANDROID_CXX_FLAGS "--sysroot=${ANDROID_SYSROOT}" ) - else() - set( ANDROID_CXX_FLAGS "--sysroot=\"${ANDROID_SYSROOT}\"" ) - endif() - else() - set( ANDROID_CXX_FLAGS "'--sysroot=${ANDROID_SYSROOT}'" ) - endif() - if( NOT _CMAKE_IN_TRY_COMPILE ) - # quotes can break try_compile and compiler identification - message(WARNING "Path to your Android NDK (or toolchain) has non-alphanumeric symbols.\nThe build might be broken.\n") - endif() -else() - set( ANDROID_CXX_FLAGS "--sysroot=${ANDROID_SYSROOT}" ) -endif() - -# NDK flags -if (ARM64_V8A ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funwind-tables" ) - set( ANDROID_CXX_FLAGS_RELEASE "-fomit-frame-pointer -fstrict-aliasing" ) - set( ANDROID_CXX_FLAGS_DEBUG "-fno-omit-frame-pointer -fno-strict-aliasing" ) - if( NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} -funswitch-loops -finline-limit=300" ) - endif() -elseif( ARMEABI OR ARMEABI_V7A OR ARMEABI_V7A_HARD) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funwind-tables" ) - if( NOT ANDROID_FORCE_ARM_BUILD AND NOT ARMEABI_V6 ) - set( ANDROID_CXX_FLAGS_RELEASE "-mthumb -fomit-frame-pointer -fno-strict-aliasing" ) - set( ANDROID_CXX_FLAGS_DEBUG "-marm -fno-omit-frame-pointer -fno-strict-aliasing" ) - if( NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -finline-limit=64" ) - endif() - else() - # always compile ARMEABI_V6 in arm mode; otherwise there is no difference from ARMEABI - set( ANDROID_CXX_FLAGS_RELEASE "-marm -fomit-frame-pointer -fstrict-aliasing" ) - set( ANDROID_CXX_FLAGS_DEBUG "-marm -fno-omit-frame-pointer -fno-strict-aliasing" ) - if( NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funswitch-loops -finline-limit=300" ) - endif() - endif() -elseif( X86 OR X86_64 ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funwind-tables" ) - if( NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -funswitch-loops -finline-limit=300" ) - endif() - set( ANDROID_CXX_FLAGS_RELEASE "-fomit-frame-pointer -fstrict-aliasing" ) - set( ANDROID_CXX_FLAGS_DEBUG "-fno-omit-frame-pointer -fno-strict-aliasing" ) -elseif( MIPS OR MIPS64 ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fno-strict-aliasing -finline-functions -funwind-tables -fmessage-length=0" ) - set( ANDROID_CXX_FLAGS_RELEASE "-fomit-frame-pointer" ) - set( ANDROID_CXX_FLAGS_DEBUG "-fno-omit-frame-pointer" ) - if( NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers" ) - set( ANDROID_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} -funswitch-loops -finline-limit=300" ) - endif() -elseif() - set( ANDROID_CXX_FLAGS_RELEASE "" ) - set( ANDROID_CXX_FLAGS_DEBUG "" ) -endif() - -set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fsigned-char" ) # good/necessary when porting desktop libraries - -if( NOT X86 AND NOT ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "-Wno-psabi ${ANDROID_CXX_FLAGS}" ) -endif() - -if( NOT ANDROID_COMPILER_VERSION VERSION_LESS "4.6" ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -no-canonical-prefixes" ) # see https://android-review.googlesource.com/#/c/47564/ -endif() - -# ABI-specific flags -if( ARMEABI_V7A_HARD ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv7-a -mfloat-abi=hard -mhard-float -D_NDK_MATH_NO_SOFTFP=1" ) - if( NEON ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=neon" ) - elseif( VFPV3 ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3" ) - else() - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3-d16" ) - endif() -elseif( ARMEABI_V7A ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv7-a -mfloat-abi=softfp" ) - if( NEON ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=neon" ) - elseif( VFPV3 ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3" ) - else() - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -mfpu=vfpv3-d16" ) - endif() - -elseif( ARMEABI_V6 ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv6 -mfloat-abi=softfp -mfpu=vfp" ) # vfp == vfpv2 -elseif( ARMEABI ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv5te -mtune=xscale -msoft-float" ) -endif() - -if( ANDROID_STL MATCHES "gnustl" AND (EXISTS "${__libstl}" OR EXISTS "${__libsupcxx}") ) - set( CMAKE_CXX_CREATE_SHARED_LIBRARY " -o " ) - set( CMAKE_CXX_CREATE_SHARED_MODULE " -o " ) - set( CMAKE_CXX_LINK_EXECUTABLE " -o " ) -else() - set( CMAKE_CXX_CREATE_SHARED_LIBRARY " -o " ) - set( CMAKE_CXX_CREATE_SHARED_MODULE " -o " ) - set( CMAKE_CXX_LINK_EXECUTABLE " -o " ) -endif() - -# STL -if( EXISTS "${__libstl}" OR EXISTS "${__libsupcxx}" ) - if( EXISTS "${__libstl}" ) - set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${__libstl}\"" ) - set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${__libstl}\"" ) - set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} \"${__libstl}\"" ) - endif() - if( EXISTS "${__libsupcxx}" ) - set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${__libsupcxx}\"" ) - set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${__libsupcxx}\"" ) - set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} \"${__libsupcxx}\"" ) - # C objects: - set( CMAKE_C_CREATE_SHARED_LIBRARY " -o " ) - set( CMAKE_C_CREATE_SHARED_MODULE " -o " ) - set( CMAKE_C_LINK_EXECUTABLE " -o " ) - set( CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY} \"${__libsupcxx}\"" ) - set( CMAKE_C_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE} \"${__libsupcxx}\"" ) - set( CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} \"${__libsupcxx}\"" ) - endif() - if( ANDROID_STL MATCHES "gnustl" ) - if( NOT EXISTS "${ANDROID_LIBM_PATH}" ) - set( ANDROID_LIBM_PATH -lm ) - endif() - set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} ${ANDROID_LIBM_PATH}" ) - set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} ${ANDROID_LIBM_PATH}" ) - set( CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${ANDROID_LIBM_PATH}" ) - endif() -endif() - -# variables controlling optional build flags -if( ANDROID_NDK_RELEASE_NUM LESS 7000 ) # before r7 - # libGLESv2.so in NDK's prior to r7 refers to missing external symbols. - # So this flag option is required for all projects using OpenGL from native. - __INIT_VARIABLE( ANDROID_SO_UNDEFINED VALUES ON ) -else() - __INIT_VARIABLE( ANDROID_SO_UNDEFINED VALUES OFF ) -endif() -__INIT_VARIABLE( ANDROID_NO_UNDEFINED VALUES ON ) -__INIT_VARIABLE( ANDROID_FUNCTION_LEVEL_LINKING VALUES ON ) -__INIT_VARIABLE( ANDROID_GOLD_LINKER VALUES ON ) -__INIT_VARIABLE( ANDROID_NOEXECSTACK VALUES ON ) -__INIT_VARIABLE( ANDROID_RELRO VALUES ON ) - -set( ANDROID_NO_UNDEFINED ${ANDROID_NO_UNDEFINED} CACHE BOOL "Show all undefined symbols as linker errors" ) -set( ANDROID_SO_UNDEFINED ${ANDROID_SO_UNDEFINED} CACHE BOOL "Allows or disallows undefined symbols in shared libraries" ) -set( ANDROID_FUNCTION_LEVEL_LINKING ${ANDROID_FUNCTION_LEVEL_LINKING} CACHE BOOL "Put each function in separate section and enable garbage collection of unused input sections at link time" ) -set( ANDROID_GOLD_LINKER ${ANDROID_GOLD_LINKER} CACHE BOOL "Enables gold linker" ) -set( ANDROID_NOEXECSTACK ${ANDROID_NOEXECSTACK} CACHE BOOL "Allows or disallows undefined symbols in shared libraries" ) -set( ANDROID_RELRO ${ANDROID_RELRO} CACHE BOOL "Enables RELRO - a memory corruption mitigation technique" ) -mark_as_advanced( ANDROID_NO_UNDEFINED ANDROID_SO_UNDEFINED ANDROID_FUNCTION_LEVEL_LINKING ANDROID_GOLD_LINKER ANDROID_NOEXECSTACK ANDROID_RELRO ) - -# linker flags -set( ANDROID_LINKER_FLAGS "" ) - -if( ARMEABI_V7A ) - # this is *required* to use the following linker flags that routes around - # a CPU bug in some Cortex-A8 implementations: - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--fix-cortex-a8" ) -endif() - -if( ARMEABI_V7A_HARD ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--no-warn-mismatch -lm_hard" ) -endif() - -if( ANDROID_NO_UNDEFINED ) - if( MIPS ) - # there is some sysroot-related problem in mips linker... - if( NOT ANDROID_SYSROOT MATCHES "[ ;\"]" ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--no-undefined -Wl,-rpath-link,${ANDROID_SYSROOT}/usr/lib" ) - endif() - else() - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--no-undefined" ) - endif() -endif() - -if( ANDROID_SO_UNDEFINED ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-allow-shlib-undefined" ) -endif() - -if( ANDROID_FUNCTION_LEVEL_LINKING ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -fdata-sections -ffunction-sections" ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,--gc-sections" ) -endif() - -if( ANDROID_COMPILER_VERSION VERSION_EQUAL "4.6" ) - if( ANDROID_GOLD_LINKER AND (CMAKE_HOST_UNIX OR ANDROID_NDK_RELEASE_NUM GREATER 8002) AND (ARMEABI OR ARMEABI_V7A OR ARMEABI_V7A_HARD OR X86) ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -fuse-ld=gold" ) - elseif( ANDROID_NDK_RELEASE_NUM GREATER 8002 ) # after r8b - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -fuse-ld=bfd" ) - elseif( ANDROID_NDK_RELEASE STREQUAL "r8b" AND ARMEABI AND NOT _CMAKE_IN_TRY_COMPILE ) - message( WARNING "The default bfd linker from arm GCC 4.6 toolchain can fail with 'unresolvable R_ARM_THM_CALL relocation' error message. See https://code.google.com/p/android/issues/detail?id=35342 - On Linux and OS X host platform you can workaround this problem using gold linker (default). - Rerun cmake with -DANDROID_GOLD_LINKER=ON option in case of problems. -" ) - endif() -endif() # version 4.6 - -if( ANDROID_NOEXECSTACK ) - if( ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -Xclang -mnoexecstack" ) - else() - set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -Wa,--noexecstack" ) - endif() - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-z,noexecstack" ) -endif() - -if( ANDROID_RELRO ) - set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} -Wl,-z,relro -Wl,-z,now" ) -endif() - -if( ANDROID_COMPILER_IS_CLANG ) - set( ANDROID_CXX_FLAGS "-target ${ANDROID_LLVM_TRIPLE} -Qunused-arguments ${ANDROID_CXX_FLAGS}" ) - if( BUILD_WITH_ANDROID_NDK ) - set( ANDROID_CXX_FLAGS "-gcc-toolchain ${ANDROID_TOOLCHAIN_ROOT} ${ANDROID_CXX_FLAGS}" ) - endif() -endif() - -# cache flags -set( CMAKE_CXX_FLAGS "" CACHE STRING "c++ flags" ) -set( CMAKE_C_FLAGS "" CACHE STRING "c flags" ) -set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c++ Release flags" ) -set( CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c Release flags" ) -set( CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c++ Debug flags" ) -set( CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c Debug flags" ) -set( CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "shared linker flags" ) -set( CMAKE_MODULE_LINKER_FLAGS "" CACHE STRING "module linker flags" ) -set( CMAKE_EXE_LINKER_FLAGS "-Wl,-z,nocopyreloc" CACHE STRING "executable linker flags" ) - -# put flags to cache (for debug purpose only) -set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS}" CACHE INTERNAL "Android specific c/c++ flags" ) -set( ANDROID_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE}" CACHE INTERNAL "Android specific c/c++ Release flags" ) -set( ANDROID_CXX_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG}" CACHE INTERNAL "Android specific c/c++ Debug flags" ) -set( ANDROID_LINKER_FLAGS "${ANDROID_LINKER_FLAGS}" CACHE INTERNAL "Android specific c/c++ linker flags" ) - -# finish flags -set( CMAKE_CXX_FLAGS "${ANDROID_CXX_FLAGS} ${CMAKE_CXX_FLAGS}" ) -set( CMAKE_C_FLAGS "${ANDROID_CXX_FLAGS} ${CMAKE_C_FLAGS}" ) -set( CMAKE_CXX_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}" ) -set( CMAKE_C_FLAGS_RELEASE "${ANDROID_CXX_FLAGS_RELEASE} ${CMAKE_C_FLAGS_RELEASE}" ) -set( CMAKE_CXX_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}" ) -set( CMAKE_C_FLAGS_DEBUG "${ANDROID_CXX_FLAGS_DEBUG} ${CMAKE_C_FLAGS_DEBUG}" ) -set( CMAKE_SHARED_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" ) -set( CMAKE_MODULE_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}" ) -set( CMAKE_EXE_LINKER_FLAGS "${ANDROID_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}" ) - -if( MIPS AND BUILD_WITH_ANDROID_NDK AND ANDROID_NDK_RELEASE STREQUAL "r8" ) - set( CMAKE_SHARED_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.xsc ${CMAKE_SHARED_LINKER_FLAGS}" ) - set( CMAKE_MODULE_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.xsc ${CMAKE_MODULE_LINKER_FLAGS}" ) - set( CMAKE_EXE_LINKER_FLAGS "-Wl,-T,${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}/mipself.x ${CMAKE_EXE_LINKER_FLAGS}" ) -endif() - -# pie/pic -if( NOT (ANDROID_NATIVE_API_LEVEL LESS 16) AND (NOT DEFINED ANDROID_APP_PIE OR ANDROID_APP_PIE) AND (CMAKE_VERSION VERSION_GREATER 2.8.8) ) - set( CMAKE_POSITION_INDEPENDENT_CODE TRUE ) - set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie") -else() - set( CMAKE_POSITION_INDEPENDENT_CODE FALSE ) - set( CMAKE_CXX_FLAGS "-fpic ${CMAKE_CXX_FLAGS}" ) - set( CMAKE_C_FLAGS "-fpic ${CMAKE_C_FLAGS}" ) -endif() - -# configure rtti -if( DEFINED ANDROID_RTTI AND ANDROID_STL_FORCE_FEATURES ) - if( ANDROID_RTTI ) - set( CMAKE_CXX_FLAGS "-frtti ${CMAKE_CXX_FLAGS}" ) - else() - set( CMAKE_CXX_FLAGS "-fno-rtti ${CMAKE_CXX_FLAGS}" ) - endif() -endif() - -# configure exceptios -if( DEFINED ANDROID_EXCEPTIONS AND ANDROID_STL_FORCE_FEATURES ) - if( ANDROID_EXCEPTIONS ) - set( CMAKE_CXX_FLAGS "-fexceptions ${CMAKE_CXX_FLAGS}" ) - set( CMAKE_C_FLAGS "-fexceptions ${CMAKE_C_FLAGS}" ) - else() - set( CMAKE_CXX_FLAGS "-fno-exceptions ${CMAKE_CXX_FLAGS}" ) - set( CMAKE_C_FLAGS "-fno-exceptions ${CMAKE_C_FLAGS}" ) - endif() -endif() - -# global includes and link directories -include_directories( SYSTEM "${ANDROID_SYSROOT}/usr/include" ${ANDROID_STL_INCLUDE_DIRS} ) -get_filename_component(__android_install_path "${CMAKE_INSTALL_PREFIX}/libs/${ANDROID_NDK_ABI_NAME}" ABSOLUTE) # avoid CMP0015 policy warning -link_directories( "${__android_install_path}" ) - -# detect if need link crtbegin_so.o explicitly -if( NOT DEFINED ANDROID_EXPLICIT_CRT_LINK ) - set( __cmd "${CMAKE_CXX_CREATE_SHARED_LIBRARY}" ) - string( REPLACE "" "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}" __cmd "${__cmd}" ) - string( REPLACE "" "${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}" __cmd "${__cmd}" ) - string( REPLACE "" "${CMAKE_CXX_FLAGS}" __cmd "${__cmd}" ) - string( REPLACE "" "" __cmd "${__cmd}" ) - string( REPLACE "" "${CMAKE_SHARED_LINKER_FLAGS}" __cmd "${__cmd}" ) - string( REPLACE "" "-shared" __cmd "${__cmd}" ) - string( REPLACE "" "" __cmd "${__cmd}" ) - string( REPLACE "" "" __cmd "${__cmd}" ) - string( REPLACE "" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/toolchain_crtlink_test.so" __cmd "${__cmd}" ) - string( REPLACE "" "\"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" __cmd "${__cmd}" ) - string( REPLACE "" "" __cmd "${__cmd}" ) - separate_arguments( __cmd ) - foreach( __var ANDROID_NDK ANDROID_NDK_TOOLCHAINS_PATH ANDROID_STANDALONE_TOOLCHAIN ) - if( ${__var} ) - set( __tmp "${${__var}}" ) - separate_arguments( __tmp ) - string( REPLACE "${__tmp}" "${${__var}}" __cmd "${__cmd}") - endif() - endforeach() - string( REPLACE "'" "" __cmd "${__cmd}" ) - string( REPLACE "\"" "" __cmd "${__cmd}" ) - execute_process( COMMAND ${__cmd} RESULT_VARIABLE __cmd_result OUTPUT_QUIET ERROR_QUIET ) - if( __cmd_result EQUAL 0 ) - set( ANDROID_EXPLICIT_CRT_LINK ON ) - else() - set( ANDROID_EXPLICIT_CRT_LINK OFF ) - endif() -endif() - -if( ANDROID_EXPLICIT_CRT_LINK ) - set( CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} \"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" ) - set( CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE} \"${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o\"" ) -endif() - -# setup output directories -set( CMAKE_INSTALL_PREFIX "${ANDROID_TOOLCHAIN_ROOT}/user" CACHE STRING "path for installing" ) - -if( DEFINED LIBRARY_OUTPUT_PATH_ROOT - OR EXISTS "${CMAKE_SOURCE_DIR}/AndroidManifest.xml" - OR (EXISTS "${CMAKE_SOURCE_DIR}/../AndroidManifest.xml" AND EXISTS "${CMAKE_SOURCE_DIR}/../jni/") ) - set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_SOURCE_DIR} CACHE PATH "Root for binaries output, set this to change where Android libs are installed to" ) - if( NOT _CMAKE_IN_TRY_COMPILE ) - if( EXISTS "${CMAKE_SOURCE_DIR}/jni/CMakeLists.txt" ) - set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin/${ANDROID_NDK_ABI_NAME}" CACHE PATH "Output directory for applications" ) - else() - set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin" CACHE PATH "Output directory for applications" ) - endif() - set( LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}" CACHE PATH "Output directory for Android libs" ) - endif() -endif() - -# copy shaed stl library to build directory -if( NOT _CMAKE_IN_TRY_COMPILE AND __libstl MATCHES "[.]so$" AND DEFINED LIBRARY_OUTPUT_PATH ) - get_filename_component( __libstlname "${__libstl}" NAME ) - execute_process( COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${__libstl}" "${LIBRARY_OUTPUT_PATH}/${__libstlname}" RESULT_VARIABLE __fileCopyProcess ) - if( NOT __fileCopyProcess EQUAL 0 OR NOT EXISTS "${LIBRARY_OUTPUT_PATH}/${__libstlname}") - message( SEND_ERROR "Failed copying of ${__libstl} to the ${LIBRARY_OUTPUT_PATH}/${__libstlname}" ) - endif() - unset( __fileCopyProcess ) - unset( __libstlname ) -endif() - - -# set these global flags for cmake client scripts to change behavior -set( ANDROID True ) -set( BUILD_ANDROID True ) - -# where is the target environment -set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOOLCHAIN_ROOT}/bin" "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" "${ANDROID_SYSROOT}" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" ) - -# only search for libraries and includes in the ndk toolchain -set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) -set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) - - -# macro to find packages on the host OS -macro( find_host_package ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) - if( CMAKE_HOST_WIN32 ) - SET( WIN32 1 ) - SET( UNIX ) - elseif( CMAKE_HOST_APPLE ) - SET( APPLE 1 ) - SET( UNIX ) - endif() - find_package( ${ARGN} ) - SET( WIN32 ) - SET( APPLE ) - SET( UNIX 1 ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) -endmacro() - - -# macro to find programs on the host OS -macro( find_host_program ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) - if( CMAKE_HOST_WIN32 ) - SET( WIN32 1 ) - SET( UNIX ) - elseif( CMAKE_HOST_APPLE ) - SET( APPLE 1 ) - SET( UNIX ) - endif() - find_program( ${ARGN} ) - SET( WIN32 ) - SET( APPLE ) - SET( UNIX 1 ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) -endmacro() - - -# export toolchain settings for the try_compile() command -if( NOT _CMAKE_IN_TRY_COMPILE ) - set( __toolchain_config "") - foreach( __var NDK_CCACHE LIBRARY_OUTPUT_PATH_ROOT ANDROID_FORBID_SYGWIN - ANDROID_NDK_HOST_X64 - ANDROID_NDK - ANDROID_NDK_LAYOUT - ANDROID_STANDALONE_TOOLCHAIN - ANDROID_TOOLCHAIN_NAME - ANDROID_ABI - ANDROID_NATIVE_API_LEVEL - ANDROID_STL - ANDROID_STL_FORCE_FEATURES - ANDROID_FORCE_ARM_BUILD - ANDROID_NO_UNDEFINED - ANDROID_SO_UNDEFINED - ANDROID_FUNCTION_LEVEL_LINKING - ANDROID_GOLD_LINKER - ANDROID_NOEXECSTACK - ANDROID_RELRO - ANDROID_LIBM_PATH - ANDROID_EXPLICIT_CRT_LINK - ANDROID_APP_PIE - ) - if( DEFINED ${__var} ) - if( ${__var} MATCHES " ") - set( __toolchain_config "${__toolchain_config}set( ${__var} \"${${__var}}\" CACHE INTERNAL \"\" )\n" ) - else() - set( __toolchain_config "${__toolchain_config}set( ${__var} ${${__var}} CACHE INTERNAL \"\" )\n" ) - endif() - endif() - endforeach() - file( WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/android.toolchain.config.cmake" "${__toolchain_config}" ) - unset( __toolchain_config ) -endif() - - -# force cmake to produce / instead of \ in build commands for Ninja generator -if( CMAKE_GENERATOR MATCHES "Ninja" AND CMAKE_HOST_WIN32 ) - # it is a bad hack after all - # CMake generates Ninja makefiles with UNIX paths only if it thinks that we are going to build with MinGW - set( CMAKE_COMPILER_IS_MINGW TRUE ) # tell CMake that we are MinGW - set( CMAKE_CROSSCOMPILING TRUE ) # stop recursion - enable_language( C ) - enable_language( CXX ) - # unset( CMAKE_COMPILER_IS_MINGW ) # can't unset because CMake does not convert back-slashes in response files without it - unset( MINGW ) -endif() - - -# Variables controlling behavior or set by cmake toolchain: -# ANDROID_ABI : "armeabi-v7a" (default), "armeabi", "armeabi-v7a with NEON", "armeabi-v7a-hard with NEON", "armeabi-v7a with VFPV3", "armeabi-v6 with VFP", "x86", "mips", "arm64-v8a", "x86_64", "mips64" -# ANDROID_NATIVE_API_LEVEL : 3,4,5,8,9,14,15,16,17,18,19,21 (depends on NDK version) -# ANDROID_STL : gnustl_static/gnustl_shared/stlport_static/stlport_shared/gabi++_static/gabi++_shared/system_re/system/none -# ANDROID_FORBID_SYGWIN : ON/OFF -# ANDROID_NO_UNDEFINED : ON/OFF -# ANDROID_SO_UNDEFINED : OFF/ON (default depends on NDK version) -# ANDROID_FUNCTION_LEVEL_LINKING : ON/OFF -# ANDROID_GOLD_LINKER : ON/OFF -# ANDROID_NOEXECSTACK : ON/OFF -# ANDROID_RELRO : ON/OFF -# ANDROID_FORCE_ARM_BUILD : ON/OFF -# ANDROID_STL_FORCE_FEATURES : ON/OFF -# ANDROID_LIBM_PATH : path to libm.so (set to something like $(TOP)/out/target/product//obj/lib/libm.so) to workaround unresolved `sincos` -# Can be set only at the first run: -# ANDROID_NDK : path to your NDK install -# NDK_CCACHE : path to your ccache executable -# ANDROID_TOOLCHAIN_NAME : the NDK name of compiler toolchain -# ANDROID_NDK_HOST_X64 : try to use x86_64 toolchain (default for x64 host systems) -# ANDROID_NDK_LAYOUT : the inner NDK structure (RELEASE, LINARO, ANDROID) -# LIBRARY_OUTPUT_PATH_ROOT : -# ANDROID_STANDALONE_TOOLCHAIN -# -# Primary read-only variables: -# ANDROID : always TRUE -# ARMEABI : TRUE for arm v6 and older devices -# ARMEABI_V6 : TRUE for arm v6 -# ARMEABI_V7A : TRUE for arm v7a -# ARMEABI_V7A_HARD : TRUE for arm v7a with hardfp -# ARM64_V8A : TRUE for arm64-v8a -# NEON : TRUE if NEON unit is enabled -# VFPV3 : TRUE if VFP version 3 is enabled -# X86 : TRUE if configured for x86 -# X86_64 : TRUE if configured for x86_64 -# MIPS : TRUE if configured for mips -# MIPS64 : TRUE if configured for mips64 -# BUILD_WITH_ANDROID_NDK : TRUE if NDK is used -# BUILD_WITH_STANDALONE_TOOLCHAIN : TRUE if standalone toolchain is used -# ANDROID_NDK_HOST_SYSTEM_NAME : "windows", "linux-x86" or "darwin-x86" depending on host platform -# ANDROID_NDK_ABI_NAME : "armeabi", "armeabi-v7a", "armeabi-v7a-hard", "x86", "mips", "arm64-v8a", "x86_64", "mips64" depending on ANDROID_ABI -# ANDROID_NDK_RELEASE : from r5 to r10d; set only for NDK -# ANDROID_NDK_RELEASE_NUM : numeric ANDROID_NDK_RELEASE version (1000*major+minor) -# ANDROID_ARCH_NAME : "arm", "x86", "mips", "arm64", "x86_64", "mips64" depending on ANDROID_ABI -# ANDROID_SYSROOT : path to the compiler sysroot -# TOOL_OS_SUFFIX : "" or ".exe" depending on host platform -# ANDROID_COMPILER_IS_CLANG : TRUE if clang compiler is used -# -# Secondary (less stable) read-only variables: -# ANDROID_COMPILER_VERSION : GCC version used (not Clang version) -# ANDROID_CLANG_VERSION : version of clang compiler if clang is used -# ANDROID_CXX_FLAGS : C/C++ compiler flags required by Android platform -# ANDROID_SUPPORTED_ABIS : list of currently allowed values for ANDROID_ABI -# ANDROID_TOOLCHAIN_MACHINE_NAME : "arm-linux-androideabi", "arm-eabi" or "i686-android-linux" -# ANDROID_TOOLCHAIN_ROOT : path to the top level of toolchain (standalone or placed inside NDK) -# ANDROID_CLANG_TOOLCHAIN_ROOT : path to clang tools -# ANDROID_SUPPORTED_NATIVE_API_LEVELS : list of native API levels found inside NDK -# ANDROID_STL_INCLUDE_DIRS : stl include paths -# ANDROID_RTTI : if rtti is enabled by the runtime -# ANDROID_EXCEPTIONS : if exceptions are enabled by the runtime -# ANDROID_GCC_TOOLCHAIN_NAME : read-only, differs from ANDROID_TOOLCHAIN_NAME only if clang is used -# -# Defaults: -# ANDROID_DEFAULT_NDK_API_LEVEL -# ANDROID_DEFAULT_NDK_API_LEVEL_${ARCH} -# ANDROID_NDK_SEARCH_PATHS -# ANDROID_SUPPORTED_ABIS_${ARCH} -# ANDROID_SUPPORTED_NDK_VERSIONS diff --git a/android/scripts/cmake_android.sh b/android/scripts/cmake_android.sh deleted file mode 100755 index 539e4f18b..000000000 --- a/android/scripts/cmake_android.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -cd `dirname $0`/.. - -mkdir -p build -cd build - -cmake -DANDROID_NATIVE_API_LEVEL=android-9 -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../.. - diff --git a/android/scripts/cmake_android_armeabi.sh b/android/scripts/cmake_android_armeabi.sh deleted file mode 100755 index c740010f1..000000000 --- a/android/scripts/cmake_android_armeabi.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -cd `dirname $0`/.. - -mkdir -p build_armeabi -cd build_armeabi - -cmake -DANDROID_NATIVE_API_LEVEL=android-9 -DANDROID_ABI=armeabi -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../.. - diff --git a/android/scripts/cmake_android_mips.sh b/android/scripts/cmake_android_mips.sh deleted file mode 100755 index 0e85eef8a..000000000 --- a/android/scripts/cmake_android_mips.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -cd `dirname $0`/.. - -mkdir -p build_mips -cd build_mips - -cmake -DANDROID_NATIVE_API_LEVEL=android-9 -DANDROID_ABI=mips -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../.. - diff --git a/android/scripts/cmake_android_neon.sh b/android/scripts/cmake_android_neon.sh deleted file mode 100755 index b4bcd76fb..000000000 --- a/android/scripts/cmake_android_neon.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -cd `dirname $0`/.. - -mkdir -p build_neon -cd build_neon - -cmake -DANDROID_NATIVE_API_LEVEL=android-9 -DANDROID_ABI="armeabi-v7a with NEON" -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../.. - diff --git a/android/scripts/cmake_android_x86.sh b/android/scripts/cmake_android_x86.sh deleted file mode 100755 index 2260fd886..000000000 --- a/android/scripts/cmake_android_x86.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -cd `dirname $0`/.. - -mkdir -p build_x86 -cd build_x86 - -cmake -DANDROID_NATIVE_API_LEVEL=android-9 -DANDROID_ABI=x86 -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../.. - From 7e6addc70dffd2e30e902efd18eb845c5d5dd7bb Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 20 May 2019 07:31:36 +0200 Subject: [PATCH 070/353] Revert 9cb0d4ad. --- src/version.cxx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/version.cxx b/src/version.cxx index ce18212c5..e002de9d6 100644 --- a/src/version.cxx +++ b/src/version.cxx @@ -34,16 +34,4 @@ namespace log4cplus unsigned const version = LOG4CPLUS_VERSION; char const versionStr[] = LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; -namespace -{ - -#if defined (__ELF__) && (defined (__GNUC__) || defined (__clang__)) -char const versionStrComment[] - __attribute__ ((__used__, __section__ ((".comment")))) - = "log4cplus " LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; -#endif - - -} // namespace - } // namespace log4cplus From 9d330de9469d3c6518a24bbaa7edd8c58bb0e15e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 20 May 2019 07:40:42 +0200 Subject: [PATCH 071/353] Reword `--enable-threads` help text. Closes #413. --- configure | 3 +-- configure.ac | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 42f49b604..b43c5f70e 100755 --- a/configure +++ b/configure @@ -1523,8 +1523,7 @@ Optional Features: --enable-lto Enable LTO build [default=no] --enable-profiling Compile with profiling compiler options. [default=no] - --enable-threads Use this option to create a singled-threaded version - of this library [default=yes] + --enable-threads Create multi-threaded variant [default=yes] --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] diff --git a/configure.ac b/configure.ac index d31d91cab..d102353cc 100644 --- a/configure.ac +++ b/configure.ac @@ -476,7 +476,7 @@ dnl Check for single-threaded compilation AH_TEMPLATE([LOG4CPLUS_USE_PTHREADS]) LOG4CPLUS_ARG_ENABLE([threads], - [Use this option to create a singled-threaded version of this library [default=yes]], + [Create multi-threaded variant [default=yes]], [enable_threads=yes]) AS_VAR_SET([ENABLE_THREADS], [$enable_threads]) AC_SUBST([ENABLE_THREADS]) From 90d3ef961a2a50bd3931778ed373a0424d091bac Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 9 Jun 2019 16:14:19 +0200 Subject: [PATCH 072/353] Attempt better CMake integration for log4cplus users. See also GitHub issue #417. --- qt4debugappender/CMakeLists.txt | 8 +++++--- qt5debugappender/CMakeLists.txt | 8 +++++--- simpleserver/CMakeLists.txt | 17 +++++++++-------- src/CMakeLists.txt | 9 ++++++--- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index 2f28be5e0..0a9870467 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -4,15 +4,17 @@ set (qt4debugappender_sources if (${BUILD_SHARED_LIBS}) add_definitions (-D${log4cplus}_EXPORTS) endif () -if (UNICODE) - add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) -endif (UNICODE) find_package (Qt4 REQUIRED) include (${QT_USE_FILE}) set (qt4debugappender log4cplusqt4debugappender${log4cplus_postfix}) add_library (${qt4debugappender} ${qt4debugappender_sources}) +if (UNICODE) + target_compile_definitions (${qt4debugappender} PUBLIC UNICODE) + target_compile_definitions (${qt4debugappender} PUBLIC _UNICODE) + add_definitions (-UMBCS -U_MBCS) +endif (UNICODE) target_link_libraries (${qt4debugappender} ${log4cplus} ${QT_LIBRARIES} diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index 9570e767c..de6fecf38 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -4,15 +4,17 @@ set (qt5debugappender_sources if (${BUILD_SHARED_LIBS}) add_definitions (-D${log4cplus}_EXPORTS) endif () -if (UNICODE) - add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) -endif (UNICODE) find_package (Qt5Core REQUIRED) #include (${QT_USE_FILE}) set (qt5debugappender log4cplusqt5debugappender${log4cplus_postfix}) add_library (${qt5debugappender} ${qt5debugappender_sources}) +if (UNICODE) + target_compile_definitions (${qt5debugappender} PUBLIC UNICODE) + target_compile_definitions (${qt5debugappender} PUBLIC _UNICODE) + add_definitions (-UMBCS -U_MBCS) +endif (UNICODE) target_link_libraries (${qt5debugappender} ${log4cplus} ${Qt5Widgets_LIBRARIES} diff --git a/simpleserver/CMakeLists.txt b/simpleserver/CMakeLists.txt index e53512050..5202f4231 100644 --- a/simpleserver/CMakeLists.txt +++ b/simpleserver/CMakeLists.txt @@ -1,14 +1,15 @@ -if (UNICODE) - add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) -endif (UNICODE) - message (STATUS "Threads: ${CMAKE_THREAD_LIBS_INIT}") - set (loggingserver_sources loggingserver.cxx) message (STATUS "Sources: ${loggingserver_sources}") -add_executable (loggingserver ${loggingserver_sources}) -target_link_libraries (loggingserver ${log4cplus}) +set (loggingserver loggingserver${log4cplus_postfix}) +add_executable (${loggingserver} ${loggingserver_sources}) +if (UNICODE) + target_compile_definitions (${loggingserver} PUBLIC UNICODE) + target_compile_definitions (${loggingserver} PUBLIC _UNICODE) + add_definitions (-UMBCS -U_MBCS) +endif (UNICODE) +target_link_libraries (${loggingserver} ${log4cplus}) -install(TARGETS loggingserver DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(TARGETS ${loggingserver} DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b7b7ad863..91e0c631a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -67,9 +67,6 @@ endif () # Define _GNU_SOURCE so that functions like `pipe2()` are visible. add_definitions (-D_GNU_SOURCE=1) -if (UNICODE) - add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) -endif (UNICODE) if (WIN32) add_definitions (-DMINGW_HAS_SECURE_API=1) add_definitions (-D_WIN32_WINNT=${_WIN32_WINNT}) @@ -85,6 +82,12 @@ endif (WIN32) add_library (${log4cplus} ${log4cplus_sources}) +if (UNICODE) + target_compile_definitions (${log4cplus} PUBLIC UNICODE) + target_compile_definitions (${log4cplus} PUBLIC _UNICODE) + add_definitions (-UMBCS -U_MBCS) +endif (UNICODE) + set (log4cplus_LIBS ${CMAKE_THREAD_LIBS_INIT}) if (LIBRT) list (APPEND log4cplus_LIBS ${LIBRT}) From 25bb70d666772924272d968df3f64d2c496763d1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 9 Jun 2019 17:49:06 +0200 Subject: [PATCH 073/353] Further modernize CMake build. --- CMakeLists.txt | 8 ++++---- qt4debugappender/CMakeLists.txt | 11 +++++------ qt5debugappender/CMakeLists.txt | 11 +++++------ src/CMakeLists.txt | 15 +++++++-------- tests/CMakeLists.txt | 5 +++-- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c321bbb4a..d4692097b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ option(LOG4CPLUS_BUILD_LOGGINGSERVER "Build the logging server." ON) option(LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION "Require explicit initialization (see log4cplus::Initializer)" OFF) if (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) - add_definitions (-DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1) + add_compile_definitions (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1) endif(LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) if(NOT LOG4CPLUS_SINGLE_THREADED) @@ -79,7 +79,7 @@ option(LOG4CPLUS_SINGLE_THREADED "Define if you want to build single-threaded version of the library." OFF) if (LOG4CPLUS_SINGLE_THREADED) - add_definitions (-DLOG4CPLUS_SINGLE_THREADED=1) + add_compile_definitions (LOG4CPLUS_SINGLE_THREADED=1) endif (LOG4CPLUS_SINGLE_THREADED) option (LOG4CPLUS_QT4 "Build with Qt4DebugAppender" OFF) @@ -101,9 +101,9 @@ endif() option(WITH_UNIT_TESTS "Enable unit tests" ON) if (WITH_UNIT_TESTS) set (LOG4CPLUS_WITH_UNIT_TESTS 1) - add_definitions (-DCATCH_CONFIG_PREFIX_ALL=1) + add_compile_definitions (CATCH_CONFIG_PREFIX_ALL=1) if (WIN32) - add_definitions (-DLOG4CPLUS_WITH_UNIT_TESTS=1) + add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1) endif (WIN32) endif (WITH_UNIT_TESTS) diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index 0a9870467..23221614f 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -1,10 +1,6 @@ set (qt4debugappender_sources qt4debugappender.cxx) -if (${BUILD_SHARED_LIBS}) - add_definitions (-D${log4cplus}_EXPORTS) -endif () - find_package (Qt4 REQUIRED) include (${QT_USE_FILE}) @@ -15,6 +11,9 @@ if (UNICODE) target_compile_definitions (${qt4debugappender} PUBLIC _UNICODE) add_definitions (-UMBCS -U_MBCS) endif (UNICODE) +if (${BUILD_SHARED_LIBS}) + target_compile_definitions (${qt4debugappender} PRIVATE ${log4cplus}_EXPORTS) +endif () target_link_libraries (${qt4debugappender} ${log4cplus} ${QT_LIBRARIES} @@ -22,8 +21,8 @@ target_link_libraries (${qt4debugappender} set_target_properties (${qt4debugappender} PROPERTIES VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" - SOVERSION "${log4cplus_soversion}" - COMPILE_FLAGS "-DINSIDE_LOG4CPLUS_QT4DEBUGAPPENDER") + SOVERSION "${log4cplus_soversion}") +target_compile_definitions (${qt4debugappender} PRIVATE INSIDE_LOG4CPLUS_QT4DEBUGAPPENDER) if (WIN32) set_target_properties (${qt4debugappender} PROPERTIES diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index de6fecf38..1d92984fd 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -1,10 +1,6 @@ set (qt5debugappender_sources qt5debugappender.cxx) -if (${BUILD_SHARED_LIBS}) - add_definitions (-D${log4cplus}_EXPORTS) -endif () - find_package (Qt5Core REQUIRED) #include (${QT_USE_FILE}) @@ -15,6 +11,9 @@ if (UNICODE) target_compile_definitions (${qt5debugappender} PUBLIC _UNICODE) add_definitions (-UMBCS -U_MBCS) endif (UNICODE) +if (${BUILD_SHARED_LIBS}) + target_compile_definitions (${qt5debugappender} PRIVATE ${log4cplus}_EXPORTS) +endif () target_link_libraries (${qt5debugappender} ${log4cplus} ${Qt5Widgets_LIBRARIES} @@ -22,8 +21,8 @@ target_link_libraries (${qt5debugappender} set_target_properties (${qt5debugappender} PROPERTIES VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" - SOVERSION "${log4cplus_soversion}" - COMPILE_FLAGS "-DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER") + SOVERSION "${log4cplus_soversion}") +target_compile_definitions (${qt5debugappender} PRIVATE INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER) qt5_use_modules(${qt5debugappender} Core) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91e0c631a..a9f6e950f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -61,15 +61,15 @@ elseif (WIN32) win32consoleappender.cxx win32debugappender.cxx) - #add_definitions (-DLOG4CPLUS_STATIC) + #add_compile_definitions (LOG4CPLUS_STATIC) #set (log4cplus_postfix "${log4cplus_postfix}S") endif () # Define _GNU_SOURCE so that functions like `pipe2()` are visible. -add_definitions (-D_GNU_SOURCE=1) +add_compile_definitions (_GNU_SOURCE=1) if (WIN32) - add_definitions (-DMINGW_HAS_SECURE_API=1) - add_definitions (-D_WIN32_WINNT=${_WIN32_WINNT}) + add_compile_definitions (MINGW_HAS_SECURE_API=1) + add_compile_definitions (_WIN32_WINNT=${_WIN32_WINNT}) if (BUILD_SHARED_LIBS) set(log4cplus_build_shared 1) @@ -111,13 +111,12 @@ target_link_libraries (${log4cplus} ${log4cplus_LIBS}) if (ANDROID) # Android does not seem to have SO version support. - set_target_properties (${log4cplus} PROPERTIES - COMPILE_FLAGS "-DINSIDE_LOG4CPLUS") + target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) else () set_target_properties (${log4cplus} PROPERTIES VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" - SOVERSION "${log4cplus_soversion}" - COMPILE_FLAGS "-DINSIDE_LOG4CPLUS") + SOVERSION "${log4cplus_soversion}") + target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) endif () if (MINGW AND LOG4CPLUS_MINGW_STATIC_RUNTIME) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f1803ef83..05878171c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,9 +1,10 @@ if (UNICODE) - add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) + add_compile_definitions (UNICODE _UNICODE) + add_definitions (-UMBCS -U_MBCS) endif (UNICODE) if (${BUILD_SHARED_LIBS}) - add_definitions (-Dlog4cplus_EXPORTS) + add_compile_definitions (log4cplus_EXPORTS) endif () # A function to set up a test, since it's the same for each one. Note: From 1536935e15848561e3594bfd7891ff916239066f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 13 Jun 2019 07:25:36 +0200 Subject: [PATCH 074/353] Instantiate thread pool with just 4 threads. Fixes GitHub issue #420. --- src/global-init.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index ab089d9ce..40eb2304c 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -137,7 +137,7 @@ std::unique_ptr instantiate_thread_pool () { log4cplus::thread::SignalsBlocker sb; - return std::unique_ptr(new progschj::ThreadPool); + return std::unique_ptr(new progschj::ThreadPool (4)); } #endif From c1423ce7f802fb3871b6fa09214c6ba6903db4b3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 13 Jun 2019 07:26:22 +0200 Subject: [PATCH 075/353] Adjust .dir-locals.el. --- .dir-locals.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dir-locals.el b/.dir-locals.el index ef507e566..c920630df 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -5,7 +5,7 @@ ((fill-column . 79) (indent-tabs-mode) (show-trailing-whitespace . t) - (whitespace-style face trailing lines-tail space-before-tab indentation empty) + (whitespace-style face trailing lines-tail space-before-tab indentation) (whitespace-newline . t))) (c++-mode . ((tab-width . 4) From f09936404c5c358a238994affd4ee99e4e3f2644 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 22 Jun 2019 23:52:47 +0200 Subject: [PATCH 076/353] Detect accept4() and use it. Signed-off-by: Vaclav Haisman --- ConfigureChecks.cmake | 1 + include/log4cplus/config/defines.hxx.in | 3 +++ src/socket-unix.cxx | 34 ++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 8397ad51d..d5253d1b4 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -63,6 +63,7 @@ check_function_exists(getpid LOG4CPLUS_HAVE_GETPID ) check_function_exists(poll LOG4CPLUS_HAVE_POLL ) check_function_exists(pipe LOG4CPLUS_HAVE_PIPE ) check_function_exists(pipe2 LOG4CPLUS_HAVE_PIPE2 ) +check_function_exists(accept4 LOG4CPLUS_HAVE_ACCEPT4 ) check_function_exists(ftime LOG4CPLUS_HAVE_FTIME ) check_function_exists(stat LOG4CPLUS_HAVE_STAT ) check_function_exists(lstat LOG4CPLUS_HAVE_LSTAT ) diff --git a/include/log4cplus/config/defines.hxx.in b/include/log4cplus/config/defines.hxx.in index 3c8074979..8eafb357b 100644 --- a/include/log4cplus/config/defines.hxx.in +++ b/include/log4cplus/config/defines.hxx.in @@ -118,6 +118,9 @@ /* */ #undef LOG4CPLUS_HAVE_PIPE2 +/* */ +#undef LOG4CPLUS_HAVE_ACCEPT4 + /* */ #undef LOG4CPLUS_HAVE_POLL diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index c5d680579..57698ff2a 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -287,6 +287,32 @@ accept_wrap ( return result; } +// Overload for `accept4()`. +template +static +SOCKET_TYPE +accept_wrap ( + int (* accept_func) (int, accept_sockaddr_ptr_type, accept_socklen_type *, + int), + SOCKET_TYPE sock, struct sockaddr * sa, socklen_t * len) +{ + typedef typename socklen_var::type + socklen_var_type; + socklen_var_type l = static_cast(*len); + SOCKET_TYPE result + = static_cast( + accept_func (sock, sa, + reinterpret_cast(&l), +#if defined (SOCK_CLOEXEC) + SOCK_CLOEXEC +#else + 0 +#endif + )); + *len = static_cast(l); + return result; +} + } // namespace @@ -299,7 +325,13 @@ acceptSocket(SOCKET_TYPE sock, SocketState& state) int clientSock; while( - (clientSock = accept_wrap (accept, to_os_socket (sock), + (clientSock = accept_wrap ( +#if defined (LOG4CPLUS_HAVE_ACCEPT4) + accept4 +#else + accept +#endif + , to_os_socket (sock), reinterpret_cast(&net_client), &len)) == -1 && (errno == EINTR)) From 25d83c03e81568918fb5e05c2137e885fc73fc55 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 23 Jun 2019 00:15:39 +0200 Subject: [PATCH 077/353] Detect accept4() in configure script. --- configure | 13 +++++++++++++ configure.ac | 1 + 2 files changed, 14 insertions(+) diff --git a/configure b/configure index b43c5f70e..6b448aa91 100755 --- a/configure +++ b/configure @@ -12332,6 +12332,19 @@ fi done + for ac_func in accept4 +do : + ac_fn_cxx_check_func "$LINENO" "accept4" "ac_cv_func_accept4" +if test "x$ac_cv_func_accept4" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACCEPT4 1 +_ACEOF + $as_echo "#define LOG4CPLUS_HAVE_ACCEPT4 1" >>confdefs.h + +fi +done + + for ac_func in ftime do : ac_fn_cxx_check_func "$LINENO" "ftime" "ac_cv_func_ftime" diff --git a/configure.ac b/configure.ac index d102353cc..72fbd870a 100644 --- a/configure.ac +++ b/configure.ac @@ -548,6 +548,7 @@ LOG4CPLUS_CHECK_FUNCS([getpid], [LOG4CPLUS_HAVE_GETPID]) LOG4CPLUS_CHECK_FUNCS([poll], [LOG4CPLUS_HAVE_POLL]) LOG4CPLUS_CHECK_FUNCS([pipe], [LOG4CPLUS_HAVE_PIPE]) LOG4CPLUS_CHECK_FUNCS([pipe2], [LOG4CPLUS_HAVE_PIPE2]) +LOG4CPLUS_CHECK_FUNCS([accept4], [LOG4CPLUS_HAVE_ACCEPT4]) LOG4CPLUS_CHECK_FUNCS([ftime], [LOG4CPLUS_HAVE_FTIME]) LOG4CPLUS_CHECK_FUNCS([stat], [LOG4CPLUS_HAVE_STAT]) LOG4CPLUS_CHECK_FUNCS([lstat], [LOG4CPLUS_HAVE_LSTAT]) From d6ae5c64b3e2d0b245fab84366e3412ea5062754 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 28 Jun 2019 22:06:19 +0200 Subject: [PATCH 078/353] Fix README.pdf build script and update LaTeX and fonts. --- docs/latex-header.tex | 13 ++++++------- scripts/build-pdf.pl | 22 ++++++++++++---------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/latex-header.tex b/docs/latex-header.tex index e939b899d..2c421a3fe 100644 --- a/docs/latex-header.tex +++ b/docs/latex-header.tex @@ -2,7 +2,6 @@ %% latex-header.tex begin %% -\usepackage{fix-cm} \usepackage{graphicx} \usepackage{epstopdf} \usepackage{anyfontsize} @@ -16,15 +15,15 @@ \usepackage{upquote} \usepackage{etoolbox} -\setmainfont[Ligatures={TeX, Common}]{TeX Gyre Pagella} -\setmonofont[Scale=MatchLowercase,Ligatures={NoCommon}]{DejaVu Sans Mono} +%\setmainfont[Ligatures={TeX, Common}]{TeX Gyre Pagella} +%\setmonofont[Scale=MatchLowercase,Ligatures={NoCommon}]{DejaVu Sans Mono} %\setromanfont{Georgia} %\setsansfont{DejaVu Sans} -\newfontfamily{\cjkfont}{WenQuanYi Zen Hei}[] -\newfontfamily{\devanagarifont}{Lohit Devanagari}[] -\newfontfamily{\tamilfont}{Lohit Tamil}[] -\newfontfamily{\cyrilicfont}{CMU Serif} +\newfontfamily\cjkfont{WenQuanYi Zen Hei}[] +\newfontfamily\devanagarifont{Noto Serif Devanagari}[] +\newfontfamily\tamilfont{Noto Serif Tamil}[] +\newfontfamily\cyrilicfont{PTSerif}[] %% These unfortunately break too many things. PDF will have to be without %% contributors' native names. diff --git a/scripts/build-pdf.pl b/scripts/build-pdf.pl index c0f75475f..95c41e4a4 100755 --- a/scripts/build-pdf.pl +++ b/scripts/build-pdf.pl @@ -22,28 +22,30 @@ , 'LICENSE' ); my @PANDOC_1ST_STEP_SWITCHES = - ( '--smart' - , '--self-contained' - , '--normalize' + ( '--self-contained' , '--atx-headers' - , '-f', 'markdown' + , '-f', 'markdown+smart' , '-t', 'markdown' ); my @PANDOC_2ND_STEP_SWITCHES = - ( '--smart' - , '--self-contained' + ( '--self-contained' , '--toc' , '--number-sections' # Qt4 / Win32 / MSVC has example that breaks listings on some versions of # TeXLive , '--listings' - , '-f', 'markdown' + , '-f', 'markdown+smart' , '-t', 'latex', - , '--latex-engine=lualatex', + , '--pdf-engine=lualatex', , '--include-in-header=docs/latex-header.tex' , '--include-before-body=docs/latex-body.tex' - , '-V', 'lang=en-US', - , '-V', 'geometry:a4paper'); + , '-V', 'lang:en-US', + , '-V', 'geometry:a4paper' + , '-V', 'mainfont:TeX Gyre Pagella' + , '-V', 'mainfontoptions:Ligatures={TeX, Common}' + , '-V', 'monofont:DejaVu Sans Mono' + , '-V', 'monofontoptions:Ligatures={}' + ); # pre-compute various source information strings From c090871e042c11b3d3b513261edd9071eb96d7c4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 00:31:18 +0200 Subject: [PATCH 079/353] build-pdf.pl: Include spaces, interpuction in other lang ranges. --- scripts/build-pdf.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/build-pdf.pl b/scripts/build-pdf.pl index 95c41e4a4..c59ed1a06 100755 --- a/scripts/build-pdf.pl +++ b/scripts/build-pdf.pl @@ -127,10 +127,10 @@ my $devanagariCodePoint = qr/[\p{Devanagari}]/u; my $tamilCodePoint = qr/[\p{Tamil}]/u; my $cyrilicCodePoint = qr/[\p{InCyrillic}\p{InCyrillicSupplementary}]/u; -$contents =~ s/(${cjkCodePoint}+)/{\\cjkfont{}$1}/g; -$contents =~ s/(${devanagariCodePoint}+)/{\\devanagarifont{}$1}/g; -$contents =~ s/(${tamilCodePoint}+)/{\\tamilfont{}$1}/g; -$contents =~ s/(${cyrilicCodePoint}+)/{\\cyrilicfont{}$1}/g; +$contents =~ s/(${cjkCodePoint}+(?:[\s\h\p{Zs}\p{Po}]+${cjkCodePoint}+)?)/{\\cjkfont{}$1}/gu; +$contents =~ s/(${devanagariCodePoint}+(?:[\s\h\p{Zs}\p{Po}]+${devanagariCodePoint}+)?)/{\\devanagarifont{}$1}/gu; +$contents =~ s/(${tamilCodePoint}+(?:[\s\h\p{Zs}\p{Po}]+${tamilCodePoint}+)?)/{\\tamilfont{}$1}/gu; +$contents =~ s/(${cyrilicCodePoint}+(?:[\s\h\p{Zs}\p{Po}]+${cyrilicCodePoint}+)?)/{\\cyrilicfont{}$1}/gu; use constant README_MD_TEX => 'README.md.tex'; write_file(README_MD_TEX, {binmode => ':utf8'}, $contents); From c73846385e62dcc784bcd4cb2e2eb4207d662b74 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:17:20 +0200 Subject: [PATCH 080/353] Update README.md with 3.x information. --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 124b9045c..a64c0ea5b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Short Description ================= -[log4cplus] is a simple to use C++11 logging API providing thread--safe, +[log4cplus] is a simple to use C++17 logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration. It is modeled after the Java log4j API. @@ -36,11 +36,11 @@ from log4net, log4cxx, log4cpp). Platform support ================ -[log4cplus] version 2.0 and beyond require C++11. [log4cplus] has been +[log4cplus] version 3.0 and beyond require C++17. [log4cplus] has been ported to and tested on the following platforms: - - Linux/AMD64 with GCC version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) - - Linux/AMD64 with Clang version 3.8.1-12ubuntu1 (tags/RELEASE_381/final) + - Linux/AMD64 with GCC version 8.3.0 (Ubuntu 8.3.0-6ubuntu1) + - Linux/AMD64 with Clang version 8.0.0-3 (tags/RELEASE_800/final) - Windows/AMD64 with GCC version 4.8.2 (x86_64-posix-seh-rev3, Built by MinGW-W64 project) using CMake build system - Windows/AMD64 with GCC version 4.9.2 (tdm64-1) using CMake build system @@ -59,8 +59,8 @@ on Linux platform offered by [Travis CI][11] service. The oldest Windows version that is supported by 2.x releases is Windows Vista. The following platforms were supported by the 1.x series of [log4cplus]. They -either do not have a reasonable C++11 capable compiler or have not been checked -with [log4cplus] 2.x, yet: +either do not have a reasonable C++17 capable compiler or have not been checked +with [log4cplus] 3.x, yet: - Minix 3.3.0/i386 with Clang version 3.4 (branches/release_34) with `--disable-threads` @@ -610,8 +610,8 @@ Unsupported compilers and platforms ----------------------------------- [log4cplus] does not support too old or broken C++ compilers. Since [log4cplus] -version 2.0.0, it means it does not support any platform or compiler without -decent C++11 support. +version 3.0.0, it means it does not support any platform or compiler without +decent C++17 support. - Visual Studio prior to 2015 - GCC prior to 4.8 From 184cb28ed2e0b4a9162ea896eae68abe106c3348 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:23:30 +0200 Subject: [PATCH 081/353] Update README.md with Qt5 information. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index a64c0ea5b..4eb89b863 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,14 @@ separate shared library (liblog4cplusqt4debugappender) that implements `Qt4DebugAppender`. It requires Qt4 and pkg-config to be installed. +`--with-qt5` +------------- + +This option is disabled by default. It enables compilation of a separate +shared library (liblog4cplusqt5debugappender) that implements +`Qt5DebugAppender`. It requires Qt5 and pkg-config to be available. + + `--enable-tests` --------------------- From 1e5813df6509b51b8e55d6730de704f02bdd59f9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:27:32 +0200 Subject: [PATCH 082/353] Document `--enable-implicit-initialization` configure option. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 4eb89b863..15f34b257 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,15 @@ their units. These unit tests then can be executed through `unit_tests` test executable that is built during compilation. +`--enable-implicit-initialization` +-------------------------------------- + +This option is enabled by default. It enables implicit initialization of +[log4cplus]. When it is turned off, [log4cplus] has to be explicitly +initialized by calling either `log4cplus::initialize()` or by instantiating +`log4cplus::Initializer`. + + Notes ===== From 24cfcc682b089b93eada00f1f58ec0d45d4b3b9f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:30:19 +0200 Subject: [PATCH 083/353] Fix overlong headings underlines. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 15f34b257..605665378 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ separate shared library (liblog4cplusqt4debugappender) that implements `--with-qt5` -------------- +------------ This option is disabled by default. It enables compilation of a separate shared library (liblog4cplusqt5debugappender) that implements @@ -214,7 +214,7 @@ shared library (liblog4cplusqt5debugappender) that implements `--enable-tests` ---------------------- +---------------- This option is enabled by default. It enables compilation of test executables. @@ -228,7 +228,7 @@ executable that is built during compilation. `--enable-implicit-initialization` --------------------------------------- +---------------------------------- This option is enabled by default. It enables implicit initialization of [log4cplus]. When it is turned off, [log4cplus] has to be explicitly From 2ef5e9c146b990e803cf9cdf436f181d213d9b07 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:38:05 +0200 Subject: [PATCH 084/353] Document `--enable-lto` option. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 605665378..76936e334 100644 --- a/README.md +++ b/README.md @@ -236,6 +236,13 @@ initialized by calling either `log4cplus::initialize()` or by instantiating `log4cplus::Initializer`. +`--enable-lto` +-------------- + +This option is disabled by default. It enables LTO (Link-Time Optimization) +builds. + + Notes ===== From 5635533abd95e06192ff24ec9e6f95f0e3544c62 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:38:53 +0200 Subject: [PATCH 085/353] Move --enable* options towards the rest of them. --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 76936e334..9a6a8e3f7 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,36 @@ help with configuration by supplying additional flags to the Linux. See one of the later note for details. +`--enable-tests` +---------------- + +This option is enabled by default. It enables compilation of test executables. + + +`--enable-unit-tests` +--------------------- + +This option is disabled by default. It enables compilation of unit tests along +their units. These unit tests then can be executed through `unit_tests` test +executable that is built during compilation. + + +`--enable-implicit-initialization` +---------------------------------- + +This option is enabled by default. It enables implicit initialization of +[log4cplus]. When it is turned off, [log4cplus] has to be explicitly +initialized by calling either `log4cplus::initialize()` or by instantiating +`log4cplus::Initializer`. + + +`--enable-lto` +-------------- + +This option is disabled by default. It enables LTO (Link-Time Optimization) +builds. + + `--with-wchar_t-support` ------------------------ @@ -213,36 +243,6 @@ shared library (liblog4cplusqt5debugappender) that implements `Qt5DebugAppender`. It requires Qt5 and pkg-config to be available. -`--enable-tests` ----------------- - -This option is enabled by default. It enables compilation of test executables. - - -`--enable-unit-tests` ---------------------- - -This option is disabled by default. It enables compilation of unit tests along -their units. These unit tests then can be executed through `unit_tests` test -executable that is built during compilation. - - -`--enable-implicit-initialization` ----------------------------------- - -This option is enabled by default. It enables implicit initialization of -[log4cplus]. When it is turned off, [log4cplus] has to be explicitly -initialized by calling either `log4cplus::initialize()` or by instantiating -`log4cplus::Initializer`. - - -`--enable-lto` --------------- - -This option is disabled by default. It enables LTO (Link-Time Optimization) -builds. - - Notes ===== From 89f7bfcfc6dcaac035607b375a942ee91e784326 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:45:47 +0200 Subject: [PATCH 086/353] Adjust documented release procedure after G+'s death. --- docs/release.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/release.txt b/docs/release.txt index 8f62c5d4a..14a578373 100644 --- a/docs/release.txt +++ b/docs/release.txt @@ -25,10 +25,5 @@ to generate a version of README file with Markdown compatible with SourceForge's wiki. Upload resulting file to project's SourceForge wiki page using the `scripts/upload_to_wiki.pl` script. - #. Post release information to [G+ log4cplus page][1] and share it with the -[log4cplus community][3]. - -[1]: https://plus.google.com/u/0/b/111599007078013023156/ [2]: https://sourceforge.net/p/log4cplus/news/new -[3]: https://plus.google.com/u/0/b/111599007078013023156/communities/117815353450765593933 [4]: https://sourceforge.net/projects/log4cplus/files/ From 09e703a3245d56638007910e9228336b28386c5e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 29 Jun 2019 16:52:59 +0200 Subject: [PATCH 087/353] Tweak release procedure text. --- docs/release.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/release.txt b/docs/release.txt index 14a578373..85bb6511e 100644 --- a/docs/release.txt +++ b/docs/release.txt @@ -15,15 +15,19 @@ revision, yet._ #. Send announcement to . - #. Tag revision on branch. + #. Tag revision on branch. _Do not forget to push the tag._ #. Write [news entry][2] to SourceForge. - #. Use Pandoc with parameters `--standalone -f markdown+smart -t -markdown_strict+hard_line_breaks+fenced_code_blocks+fenced_code_attributes-intraword_underscores` -to generate a version of README file with Markdown compatible with -SourceForge's wiki. Upload resulting file to project's SourceForge wiki page -using the `scripts/upload_to_wiki.pl` script. + #. Use Pandoc with parameters + + ``` + --standalone -f markdown+smart -t markdown_strict+hard_line_breaks+fenced_code_blocks+fenced_code_attributes-intraword_underscores + ``` + + to generate a version of README file with Markdown compatible with + SourceForge's wiki. Upload resulting file to project's SourceForge wiki + page using the `scripts/upload_to_wiki.pl` script. [2]: https://sourceforge.net/p/log4cplus/news/new [4]: https://sourceforge.net/projects/log4cplus/files/ From 50061a78b68e4f5d99f65f70b9a8f35fb168cb94 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 9 Aug 2019 22:51:22 +0200 Subject: [PATCH 088/353] Use va_copy() to pass arguments vftprintf(). --- src/snprintf.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/snprintf.cxx b/src/snprintf.cxx index 2e92ab71d..2898f519a 100644 --- a/src/snprintf.cxx +++ b/src/snprintf.cxx @@ -212,7 +212,10 @@ snprintf_buf::print_va_list (tchar const * & str, tchar const * fmt, LOG4CPLUS_TEXT ("Could not open NULL_FILE."), true); } - printed = vftprintf (fnull, fmt, args); + std::va_list args_copy; + va_copy (args_copy, args); + printed = vftprintf (fnull, fmt, args_copy); + va_end (args_copy); if (printed == -1) LogLog::getLogLog ()->error ( LOG4CPLUS_TEXT ("Error printing into NULL_FILE."), true); From f765505b0b4eec74a60b6cccceee32045d6af82a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 20:49:14 -0700 Subject: [PATCH 089/353] [clang-tidy] Use auto to simplify the code Found using hicpp-use-auto (cherry picked from commit 1f21f09909503958dd812fbe84e1fd8b4fb7644f) Signed-off-by: Vaclav Haisman --- src/asyncappender.cxx | 4 ++-- src/clogger.cxx | 2 +- src/configurator.cxx | 2 +- src/global-init.cxx | 2 +- src/hierarchylocker.cxx | 2 +- src/loggingevent.cxx | 2 +- src/mdc.cxx | 2 +- src/objectregistry.cxx | 2 +- src/property.cxx | 6 +++--- src/socket-unix.cxx | 8 ++++---- src/socketbuffer.cxx | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/asyncappender.cxx b/src/asyncappender.cxx index f3ceb44d8..e90104188 100644 --- a/src/asyncappender.cxx +++ b/src/asyncappender.cxx @@ -70,8 +70,8 @@ QueueThread::run() unsigned qflags = queue->get_events (&ev_buf); if (qflags & thread::Queue::EVENT) { - ev_buf_type::const_iterator const ev_buf_end = ev_buf.end (); - for (ev_buf_type::const_iterator it = ev_buf.begin (); + auto const ev_buf_end = ev_buf.end (); + for (auto it = ev_buf.begin (); it != ev_buf_end; ++it) appenders->appendLoopOnAppenders (*it); } diff --git a/src/clogger.cxx b/src/clogger.cxx index a267ecd2c..6bcfb3176 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -67,7 +67,7 @@ log4cplus_deinitialize(void * initializer_) try { - Initializer * initializer = static_cast(initializer_); + auto * initializer = static_cast(initializer_); delete initializer; } catch (std::exception const &) diff --git a/src/configurator.cxx b/src/configurator.cxx index 9e78e5aa8..1d2a2a1e8 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -353,7 +353,7 @@ PropertyConfigurator::replaceEnvironVariables() { changed = false; keys = properties.propertyNames(); - for (std::vector::const_iterator it = keys.begin(); + for (auto it = keys.begin(); it != keys.end(); ++it) { tstring const & key = *it; diff --git a/src/global-init.cxx b/src/global-init.cxx index 40eb2304c..422a09231 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -468,7 +468,7 @@ void #endif ptd_cleanup_func (void * arg) { - internal::per_thread_data * const arg_ptd + auto * const arg_ptd = static_cast(arg); internal::per_thread_data * const ptd = internal::get_ptd (false); (void) ptd; diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index dbaa469a3..5d8ed3898 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -53,7 +53,7 @@ HierarchyLocker::HierarchyLocker(Hierarchy& _h) helpers::getLogLog().error( LOG4CPLUS_TEXT("HierarchyLocker::ctor()") LOG4CPLUS_TEXT("- An error occurred while locking")); - LoggerList::iterator range_end = it; + auto range_end = it; for (it = loggerList.begin (); it != range_end; ++it) it->value->appender_list_mutex.unlock (); throw; diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 615c62797..f88523b61 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -255,7 +255,7 @@ tstring const & InternalLoggingEvent::getMDC (tstring const & key) const { MappedDiagnosticContextMap const & mdc_ = getMDCCopy (); - MappedDiagnosticContextMap::const_iterator it = mdc_.find (key); + auto it = mdc_.find (key); if (it != mdc_.end ()) return it->second; else diff --git a/src/mdc.cxx b/src/mdc.cxx index 9f223e509..85a3bcf36 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -70,7 +70,7 @@ MDC::get (tstring * value, tstring const & key) const assert (value); MappedDiagnosticContextMap * const dc = getPtr (); - MappedDiagnosticContextMap::const_iterator it = dc->find (key); + auto it = dc->find (key); if (it != dc->end ()) { *value = it->second; diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 89df19bdc..5beae8069 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -100,7 +100,7 @@ ObjectRegistryBase::getVal(const tstring& name) const { thread::MutexGuard guard (mutex); - ObjectMap::const_iterator it (data.find (name)); + auto it (data.find (name)); if (it != data.end ()) return it->second; else diff --git a/src/property.cxx b/src/property.cxx index 5eb53d94b..de18fff13 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -321,7 +321,7 @@ Properties::getProperty(tchar const * key) const tstring Properties::getProperty(const tstring& key, const tstring& defaultVal) const { - StringMap::const_iterator it (data.find (key)); + auto it (data.find (key)); if (it == data.end ()) return defaultVal; else @@ -417,7 +417,7 @@ bool Properties::getString (log4cplus::tstring & val, log4cplus::tstring const & key) const { - StringMap::const_iterator it (data.find (key)); + auto it (data.find (key)); if (it == data.end ()) return false; @@ -430,7 +430,7 @@ template log4cplus::tstring const & Properties::get_property_worker (StringType const & key) const { - StringMap::const_iterator it (data.find (key)); + auto it (data.find (key)); if (it == data.end ()) return log4cplus::internal::empty_str; else diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 57698ff2a..bacb33a26 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -278,8 +278,8 @@ accept_wrap ( { typedef typename socklen_var::type socklen_var_type; - socklen_var_type l = static_cast(*len); - SOCKET_TYPE result + auto l = static_cast(*len); + auto result = static_cast( accept_func (sock, sa, reinterpret_cast(&l))); @@ -298,8 +298,8 @@ accept_wrap ( { typedef typename socklen_var::type socklen_var_type; - socklen_var_type l = static_cast(*len); - SOCKET_TYPE result + auto l = static_cast(*len); + auto result = static_cast( accept_func (sock, sa, reinterpret_cast(&l), diff --git a/src/socketbuffer.cxx b/src/socketbuffer.cxx index 13158eddb..8ad671e5d 100644 --- a/src/socketbuffer.cxx +++ b/src/socketbuffer.cxx @@ -80,7 +80,7 @@ SocketBuffer::readByte() return 0; } - unsigned char ret = static_cast(buffer[pos]); + auto ret = static_cast(buffer[pos]); pos += sizeof(unsigned char); return ret; From ab6bba08e3f635cb0de53941843a3efdd60f74b3 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:03:19 -0700 Subject: [PATCH 090/353] [clang-tidy] Remove redundant initializers Found with readability-redundant-member-init (cherry picked from commit 9dffed9ba0e3f0ba454ba21fc7a5ed32212ffdef) Signed-off-by: Vaclav Haisman --- src/appender.cxx | 1 - src/clfsappender.cxx | 6 ++---- src/hierarchylocker.cxx | 3 +-- src/layout.cxx | 3 +-- src/loggingevent.cxx | 4 ---- src/msttsappender.cxx | 3 +-- src/ndc.cxx | 2 -- src/patternlayout.cxx | 1 - src/queue.cxx | 3 +-- 9 files changed, 6 insertions(+), 20 deletions(-) diff --git a/src/appender.cxx b/src/appender.cxx index 25d45107b..307942ef5 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -102,7 +102,6 @@ Appender::Appender() Appender::Appender(const log4cplus::helpers::Properties & properties) : layout(new SimpleLayout) - , name() , threshold(NOT_SET_LOG_LEVEL) , errorHandler(new OnlyOnceErrorHandler) , useLockFile(false) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index 9a2c7da8e..1045bfcc3 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -70,8 +70,7 @@ loglog_win32_error (tchar const * msg) struct CLFSAppender::Data { Data () - : log_name () - , log_handle (INVALID_HANDLE_VALUE) + : log_handle (INVALID_HANDLE_VALUE) , buffer (0) , buffer_size (0) { } @@ -85,8 +84,7 @@ struct CLFSAppender::Data CLFSAppender::CLFSAppender (tstring const & logname, unsigned long logsize, unsigned long buffersize) - : Appender () - , data (new Data) + : data (new Data) { init (logname, logsize, buffersize); } diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index 5d8ed3898..f1b308303 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -35,8 +35,7 @@ namespace log4cplus HierarchyLocker::HierarchyLocker(Hierarchy& _h) : h(_h), - hierarchyLocker(h.hashtable_mutex), - loggerList() + hierarchyLocker(h.hashtable_mutex) { // Get a copy of all of the Hierarchy's Loggers (except the Root Logger) h.initializeLoggerList(loggerList); diff --git a/src/layout.cxx b/src/layout.cxx index b15df085c..7be75d943 100644 --- a/src/layout.cxx +++ b/src/layout.cxx @@ -96,8 +96,7 @@ SimpleLayout::formatAndAppend(log4cplus::tostream& output, TTCCLayout::TTCCLayout(bool use_gmtime_, bool thread_printing_, bool category_prefixing_, bool context_printing_) - : dateFormat() - , use_gmtime(use_gmtime_) + : use_gmtime(use_gmtime_) , thread_printing (thread_printing_) , category_prefixing (category_prefixing_) , context_printing (context_printing_) diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index f88523b61..6ad870157 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -40,9 +40,6 @@ InternalLoggingEvent::InternalLoggingEvent( : message(message_) , loggerName(logger) , ll(loglevel) - , ndc() - , mdc() - , thread() , timestamp(log4cplus::helpers::now ()) , file(filename ? LOG4CPLUS_C_STR_TO_TSTRING(filename) @@ -121,7 +118,6 @@ InternalLoggingEvent::InternalLoggingEvent( InternalLoggingEvent::InternalLoggingEvent () : ll (NOT_SET_LOG_LEVEL) - , function () , line (0) , threadCached(false) , thread2Cached(false) diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 05a93603c..60279c4b8 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -195,8 +195,7 @@ struct MSTTSAppender::Data MSTTSAppender::MSTTSAppender () - : Appender () - , data (new Data) + : data (new Data) { init (); } diff --git a/src/ndc.cxx b/src/ndc.cxx index b387b78cf..404d30ebc 100644 --- a/src/ndc.cxx +++ b/src/ndc.cxx @@ -66,7 +66,6 @@ init_full_message (log4cplus::tstring & fullMessage, DiagnosticContext::DiagnosticContext(const log4cplus::tstring& message_, DiagnosticContext const * parent) : message(message_) - , fullMessage() { init_full_message (fullMessage, message, parent); } @@ -75,7 +74,6 @@ DiagnosticContext::DiagnosticContext(const log4cplus::tstring& message_, DiagnosticContext::DiagnosticContext(tchar const * message_, DiagnosticContext const * parent) : message(message_) - , fullMessage() { init_full_message (fullMessage, message, parent); } diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 4dfa72731..f7c64fdb4 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -391,7 +391,6 @@ PatternConverter::formatAndAppend( LiteralPatternConverter::LiteralPatternConverter() : PatternConverter(FormattingInfo()) - , str() { } diff --git a/src/queue.cxx b/src/queue.cxx index cec878074..22eafc12a 100644 --- a/src/queue.cxx +++ b/src/queue.cxx @@ -36,8 +36,7 @@ namespace log4cplus { namespace thread { Queue::Queue (unsigned len) - : mutex () - , ev_consumer (false) + : ev_consumer (false) , sem (len, len) , flags (DRAIN) { } From 4ac24d9c2c8cc7550b95c41527aeab90ebf286e0 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:05:25 -0700 Subject: [PATCH 091/353] [clang-tidy] Replace C's typedef with C++ using Found with modernize-use-using (cherry picked from commit 5d83d5b8aa85fd6d70526808b8553dd51f2f1fd4) Signed-off-by: Vaclav Haisman --- src/asyncappender.cxx | 2 +- src/factory.cxx | 2 +- src/patternlayout.cxx | 5 ++--- src/socket-unix.cxx | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/asyncappender.cxx b/src/asyncappender.cxx index e90104188..698ad4a61 100644 --- a/src/asyncappender.cxx +++ b/src/asyncappender.cxx @@ -62,7 +62,7 @@ QueueThread::QueueThread (AsyncAppenderPtr aai, thread::QueuePtr q) void QueueThread::run() { - typedef log4cplus::thread::Queue::queue_storage_type ev_buf_type; + using ev_buf_type = log4cplus::thread::Queue::queue_storage_type; ev_buf_type ev_buf; while (true) diff --git a/src/factory.cxx b/src/factory.cxx index 3a8f92638..cbf6e7818 100644 --- a/src/factory.cxx +++ b/src/factory.cxx @@ -147,7 +147,7 @@ namespace template struct DisableFactoryLocking { - typedef Factory factory_type; + using factory_type = Factory; explicit DisableFactoryLocking (factory_type & f) diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index f7c64fdb4..e95914e7f 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -111,8 +111,7 @@ class PatternConverter }; -typedef std::vector > -PatternConverterList; +using PatternConverterList = std::vector >; /** @@ -1036,7 +1035,7 @@ PatternParser::finalizeConverter(tchar c) } // namespace pattern -typedef pattern::PatternConverterList PatternConverterList; +using PatternConverterList = pattern::PatternConverterList; //////////////////////////////////////////////// diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index bacb33a26..6cfac7e31 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -255,14 +255,14 @@ namespace template struct socklen_var { - typedef T type; + using type = T; }; template struct socklen_var { - typedef U type; + using type = U; }; From 127705967c02072cf6a9f128917e578deded852f Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:09:15 -0700 Subject: [PATCH 092/353] [clang-tidy] Use default member initializers Found with modernize-use-default-member-init (cherry picked from commit b018b684e1b4025e1d287cc6e9bb0a24aeb9732e) Signed-off-by: Vaclav Haisman --- src/clfsappender.cxx | 3 +-- src/msttsappender.cxx | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index 1045bfcc3..8111240b6 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -71,13 +71,12 @@ struct CLFSAppender::Data { Data () : log_handle (INVALID_HANDLE_VALUE) - , buffer (0) , buffer_size (0) { } tstring log_name; HANDLE log_handle; - void * buffer; + void * buffer{0}; ULONG buffer_size; }; diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 60279c4b8..400d44236 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -177,8 +177,6 @@ struct MSTTSAppender::Data { Data () : ispvoice (0) - , async (false) - , speak_punc (false) { } ~Data () @@ -189,8 +187,8 @@ struct MSTTSAppender::Data helpers::SharedObjectPtr speech_thread; ISpVoice * ispvoice; - bool async; - bool speak_punc; + bool async{false}; + bool speak_punc{false}; }; From 9ac2972c15b9b2dbf9184a017f6633bf64f20ee4 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:37:13 -0700 Subject: [PATCH 093/353] [clang-tidy] Replace 0 with nullptr Found with modernize-use-nullptr (cherry picked from commit 9f2403d3fb4ac4af7fd14bbf574993fcae77b14c) Signed-off-by: Vaclav Haisman --- src/clfsappender.cxx | 2 +- src/clogger.cxx | 10 +++++----- src/msttsappender.cxx | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index 8111240b6..c79c89900 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -76,7 +76,7 @@ struct CLFSAppender::Data tstring log_name; HANDLE log_handle; - void * buffer{0}; + void * buffer{nullptr}; ULONG buffer_size; }; diff --git a/src/clogger.cxx b/src/clogger.cxx index 6bcfb3176..491afba7a 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -54,7 +54,7 @@ log4cplus_initialize(void) } catch (std::exception const &) { - return 0; + return nullptr; } } @@ -287,7 +287,7 @@ log4cplus_logger_log(const log4cplus_char_t *name, loglevel_t ll, } while (retval == -1); - logger.forcedLog(ll, msg, 0, -1); + logger.forcedLog(ll, msg, nullptr, -1); } retval = 0; @@ -313,7 +313,7 @@ log4cplus_logger_log_str(const log4cplus_char_t *name, if (logger.isEnabledFor(ll)) { - logger.forcedLog(ll, msg, 0, -1); + logger.forcedLog(ll, msg, nullptr, -1); } retval = 0; @@ -348,7 +348,7 @@ log4cplus_logger_force_log(const log4cplus_char_t *name, loglevel_t ll, } while (retval == -1); - logger.forcedLog(ll, msg, 0, -1); + logger.forcedLog(ll, msg, nullptr, -1); retval = 0; } @@ -370,7 +370,7 @@ log4cplus_logger_force_log_str(const log4cplus_char_t *name, loglevel_t ll, try { Logger logger = name ? Logger::getInstance(name) : Logger::getRoot(); - logger.forcedLog(ll, msg, 0, -1); + logger.forcedLog(ll, msg, nullptr, -1); retval = 0; } catch (std::exception const &) diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 400d44236..992d01ae7 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -220,7 +220,7 @@ MSTTSAppender::MSTTSAppender (helpers::Properties const & props) speak_punc = props.getBool (speak_punc, LOG4CPLUS_TEXT ("SpeakPunc")) && speak_punc; - init (has_rate ? &rate : 0, has_volume ? &volume : 0, speak_punc, async); + init (has_rate ? &rate : nullptr, has_volume ? &volume : nullptr, speak_punc, async); } From 0a7d801ea49a02c296a62002e46bc917cb3b8314 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:43:18 -0700 Subject: [PATCH 094/353] [clang-tidy] Replace {} with = default in constructors Found with modernize-use-equals-default (cherry picked from commit 3c9effca59ae804b49e716f9a0de829878f76ad1) Signed-off-by: Vaclav Haisman --- src/appender.cxx | 9 +++------ src/appenderattachableimpl.cxx | 9 +++------ src/callbackappender.cxx | 3 +-- src/clfsappender.cxx | 2 +- src/clogger.cxx | 3 +-- src/configurator.cxx | 11 +++-------- src/connectorthread.cxx | 6 ++---- src/env.cxx | 3 +-- src/factory.cxx | 30 ++++++++++-------------------- src/filter.cxx | 11 +++-------- src/global-init.cxx | 9 +++------ src/layout.cxx | 12 ++++-------- src/logger.cxx | 3 +-- src/loggerimpl.cxx | 4 +--- src/loggingevent.cxx | 4 +--- src/loglevel.cxx | 18 ++++++------------ src/loglog.cxx | 3 +-- src/mdc.cxx | 6 ++---- src/msttsappender.cxx | 2 +- src/ndc.cxx | 9 +++------ src/nullappender.cxx | 4 +--- src/objectregistry.cxx | 3 +-- src/patternlayout.cxx | 5 ++--- src/property.cxx | 4 +--- src/queue.cxx | 3 +-- src/socket.cxx | 3 +-- 26 files changed, 58 insertions(+), 121 deletions(-) diff --git a/src/appender.cxx b/src/appender.cxx index 307942ef5..5d617daf3 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -39,12 +39,10 @@ namespace log4cplus // log4cplus::ErrorHandler dtor /////////////////////////////////////////////////////////////////////////////// -ErrorHandler::ErrorHandler () -{ } +ErrorHandler::ErrorHandler () = default; -ErrorHandler::~ErrorHandler() -{ } +ErrorHandler::~ErrorHandler() = default; @@ -57,8 +55,7 @@ OnlyOnceErrorHandler::OnlyOnceErrorHandler() { } -OnlyOnceErrorHandler::~OnlyOnceErrorHandler () -{ } +OnlyOnceErrorHandler::~OnlyOnceErrorHandler () = default; void diff --git a/src/appenderattachableimpl.cxx b/src/appenderattachableimpl.cxx index ea86df723..029794ad1 100644 --- a/src/appenderattachableimpl.cxx +++ b/src/appenderattachableimpl.cxx @@ -36,8 +36,7 @@ namespace spi { -AppenderAttachable::~AppenderAttachable() -{ } +AppenderAttachable::~AppenderAttachable() = default; } // namespace spi @@ -51,12 +50,10 @@ namespace helpers // log4cplus::helpers::AppenderAttachableImpl ctor and dtor ////////////////////////////////////////////////////////////////////////////// -AppenderAttachableImpl::AppenderAttachableImpl() -{ } +AppenderAttachableImpl::AppenderAttachableImpl() = default; -AppenderAttachableImpl::~AppenderAttachableImpl() -{ } +AppenderAttachableImpl::~AppenderAttachableImpl() = default; diff --git a/src/callbackappender.cxx b/src/callbackappender.cxx index c3700feb3..08bc97846 100644 --- a/src/callbackappender.cxx +++ b/src/callbackappender.cxx @@ -32,8 +32,7 @@ namespace log4cplus { -CallbackAppender::CallbackAppender() -{ } +CallbackAppender::CallbackAppender() = default; CallbackAppender::CallbackAppender(log4cplus_log_event_callback_t callback_, diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index c79c89900..83ae03c66 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -72,7 +72,7 @@ struct CLFSAppender::Data Data () : log_handle (INVALID_HANDLE_VALUE) , buffer_size (0) - { } + = default; tstring log_name; HANDLE log_handle; diff --git a/src/clogger.cxx b/src/clogger.cxx index 491afba7a..6be65246b 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -391,8 +391,7 @@ CustomLogLevelManager::CustomLogLevelManager () { } -CustomLogLevelManager::~CustomLogLevelManager () -{ } +CustomLogLevelManager::~CustomLogLevelManager () = default; bool diff --git a/src/configurator.cxx b/src/configurator.cxx index 1d2a2a1e8..2659e53bb 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -250,9 +250,7 @@ PropertyConfigurator::init() } -PropertyConfigurator::~PropertyConfigurator() -{ -} +PropertyConfigurator::~PropertyConfigurator() = default; @@ -569,9 +567,7 @@ BasicConfigurator::BasicConfigurator(Hierarchy& hier, bool logToStdErr) -BasicConfigurator::~BasicConfigurator() -{ -} +BasicConfigurator::~BasicConfigurator() = default; ////////////////////////////////////////////////////////////////////////////// @@ -610,8 +606,7 @@ class ConfigurationWatchDogThread updateLastModInfo(); } - virtual ~ConfigurationWatchDogThread () - { } + virtual ~ConfigurationWatchDogThread () = default; void terminate () { diff --git a/src/connectorthread.cxx b/src/connectorthread.cxx index 9952a85ed..3532cb6cb 100644 --- a/src/connectorthread.cxx +++ b/src/connectorthread.cxx @@ -30,8 +30,7 @@ namespace log4cplus { namespace helpers { -IConnectorThreadClient::~IConnectorThreadClient () -{ } +IConnectorThreadClient::~IConnectorThreadClient () = default; // // @@ -44,8 +43,7 @@ ConnectorThread::ConnectorThread ( { } -ConnectorThread::~ConnectorThread () -{ } +ConnectorThread::~ConnectorThread () = default; void diff --git a/src/env.cxx b/src/env.cxx index b8da44681..2fde1ba30 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -209,8 +209,7 @@ namespace struct path_sep_comp { - path_sep_comp () - { } + path_sep_comp () = default; bool operator () (tchar ch) const diff --git a/src/factory.cxx b/src/factory.cxx index cbf6e7818..9ec90f728 100644 --- a/src/factory.cxx +++ b/src/factory.cxx @@ -43,40 +43,30 @@ namespace log4cplus { namespace spi { -BaseFactory::~BaseFactory() -{ } +BaseFactory::~BaseFactory() = default; -AppenderFactory::AppenderFactory() -{ } +AppenderFactory::AppenderFactory() = default; -AppenderFactory::~AppenderFactory() -{ } +AppenderFactory::~AppenderFactory() = default; -LayoutFactory::LayoutFactory() -{ } +LayoutFactory::LayoutFactory() = default; -LayoutFactory::~LayoutFactory() -{ } +LayoutFactory::~LayoutFactory() = default; -FilterFactory::FilterFactory() -{ } +FilterFactory::FilterFactory() = default; -FilterFactory::~FilterFactory() -{ } +FilterFactory::~FilterFactory() = default; -LocaleFactory::LocaleFactory() -{ } +LocaleFactory::LocaleFactory() = default; -LocaleFactory::~LocaleFactory() -{ } +LocaleFactory::~LocaleFactory() = default; -LoggerFactory::~LoggerFactory() -{ } +LoggerFactory::~LoggerFactory() = default; namespace diff --git a/src/filter.cxx b/src/filter.cxx index 847af7066..c3416837a 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -61,14 +61,10 @@ checkFilter(const Filter* filter, const InternalLoggingEvent& event) // Filter implementation /////////////////////////////////////////////////////////////////////////////// -Filter::Filter() -{ -} +Filter::Filter() = default; -Filter::~Filter() -{ -} +Filter::~Filter() = default; void @@ -86,8 +82,7 @@ Filter::appendFilter(FilterPtr filter) // DenyAllFilter implementation /////////////////////////////////////////////////////////////////////////////// -DenyAllFilter::DenyAllFilter () -{ } +DenyAllFilter::DenyAllFilter () = default; DenyAllFilter::DenyAllFilter (const helpers::Properties&) diff --git a/src/global-init.cxx b/src/global-init.cxx index 422a09231..63b65cbb2 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -392,16 +392,13 @@ gft_scratch_pad::gft_scratch_pad () { } -gft_scratch_pad::~gft_scratch_pad () -{ } +gft_scratch_pad::~gft_scratch_pad () = default; -appender_sratch_pad::appender_sratch_pad () -{ } +appender_sratch_pad::appender_sratch_pad () = default; -appender_sratch_pad::~appender_sratch_pad () -{ } +appender_sratch_pad::~appender_sratch_pad () = default; per_thread_data::per_thread_data () diff --git a/src/layout.cxx b/src/layout.cxx index 7be75d943..b6c4cb77a 100644 --- a/src/layout.cxx +++ b/src/layout.cxx @@ -57,16 +57,14 @@ Layout::Layout (const log4cplus::helpers::Properties&) { } -Layout::~Layout() -{ } +Layout::~Layout() = default; /////////////////////////////////////////////////////////////////////////////// // log4cplus::SimpleLayout public methods /////////////////////////////////////////////////////////////////////////////// -SimpleLayout::SimpleLayout () -{ } +SimpleLayout::SimpleLayout () = default; SimpleLayout::SimpleLayout (const helpers::Properties& properties) @@ -74,8 +72,7 @@ SimpleLayout::SimpleLayout (const helpers::Properties& properties) { } -SimpleLayout::~SimpleLayout() -{ } +SimpleLayout::~SimpleLayout() = default; void @@ -116,8 +113,7 @@ TTCCLayout::TTCCLayout(const log4cplus::helpers::Properties& properties) } -TTCCLayout::~TTCCLayout() -{ } +TTCCLayout::~TTCCLayout() = default; diff --git a/src/logger.cxx b/src/logger.cxx index a34b40bb2..88e89c980 100644 --- a/src/logger.cxx +++ b/src/logger.cxx @@ -104,8 +104,7 @@ Logger::shutdown () // Logger ctors and dtor ////////////////////////////////////////////////////////////////////////////// -Logger::Logger () LOG4CPLUS_NOEXCEPT -{ } +Logger::Logger () LOG4CPLUS_NOEXCEPT = default; Logger::Logger (spi::LoggerImpl * ptr) LOG4CPLUS_NOEXCEPT diff --git a/src/loggerimpl.cxx b/src/loggerimpl.cxx index d7f360a15..cbf9ba1dd 100644 --- a/src/loggerimpl.cxx +++ b/src/loggerimpl.cxx @@ -43,9 +43,7 @@ LoggerImpl::LoggerImpl(const log4cplus::tstring_view& name_, Hierarchy& h) } -LoggerImpl::~LoggerImpl() -{ -} +LoggerImpl::~LoggerImpl() = default; ////////////////////////////////////////////////////////////////////////////// diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 6ad870157..288da275a 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -147,9 +147,7 @@ InternalLoggingEvent::InternalLoggingEvent( } -InternalLoggingEvent::~InternalLoggingEvent() -{ -} +InternalLoggingEvent::~InternalLoggingEvent() = default; diff --git a/src/loglevel.cxx b/src/loglevel.cxx index b6b906b3a..9cb10a286 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -30,11 +30,9 @@ namespace log4cplus { -LogLevelTranslator::LogLevelTranslator () -{ } +LogLevelTranslator::LogLevelTranslator () = default; -LogLevelTranslator::~LogLevelTranslator () -{ } +LogLevelTranslator::~LogLevelTranslator () = default; @@ -58,11 +56,9 @@ class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator : virtual public LogLevelTranslator { public: - DefaultLogLevelTranslator () - { } + DefaultLogLevelTranslator () = default; - virtual ~DefaultLogLevelTranslator () - { } + virtual ~DefaultLogLevelTranslator () = default; virtual log4cplus::tstring const & @@ -125,8 +121,7 @@ class LOG4CPLUS_PRIVATE SingleLogLevelTranslator , name (name_) { } - virtual ~SingleLogLevelTranslator () - { } + virtual ~SingleLogLevelTranslator () = default; virtual log4cplus::tstring const & @@ -167,8 +162,7 @@ LogLevelManager::LogLevelManager() } -LogLevelManager::~LogLevelManager() -{ } +LogLevelManager::~LogLevelManager() = default; diff --git a/src/loglog.cxx b/src/loglog.cxx index aaa4b640d..8913f7c70 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -53,8 +53,7 @@ LogLog::LogLog() { } -LogLog::~LogLog() -{ } +LogLog::~LogLog() = default; void diff --git a/src/mdc.cxx b/src/mdc.cxx index 85a3bcf36..d951036df 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -33,12 +33,10 @@ namespace log4cplus { -MDC::MDC () -{ } +MDC::MDC () = default; -MDC::~MDC () -{ } +MDC::~MDC () = default; MappedDiagnosticContextMap * diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 992d01ae7..1bddf0442 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -177,7 +177,7 @@ struct MSTTSAppender::Data { Data () : ispvoice (0) - { } + = default; ~Data () { diff --git a/src/ndc.cxx b/src/ndc.cxx index 404d30ebc..f9e33d3da 100644 --- a/src/ndc.cxx +++ b/src/ndc.cxx @@ -93,10 +93,7 @@ DiagnosticContext::DiagnosticContext(tchar const * message_) } -DiagnosticContext::DiagnosticContext (DiagnosticContext const & other) - : message (other.message) - , fullMessage (other.fullMessage) -{ } +DiagnosticContext::DiagnosticContext (DiagnosticContext const & other) = default; DiagnosticContext & DiagnosticContext::operator = ( @@ -134,11 +131,11 @@ DiagnosticContext::swap (DiagnosticContext & other) /////////////////////////////////////////////////////////////////////////////// NDC::NDC() -{ } += default; NDC::~NDC() -{ } += default; diff --git a/src/nullappender.cxx b/src/nullappender.cxx index 3edcef22d..5feb17892 100644 --- a/src/nullappender.cxx +++ b/src/nullappender.cxx @@ -30,9 +30,7 @@ namespace log4cplus // NullAppender ctors and dtor /////////////////////////////////////////////////////////////////////////////// -NullAppender::NullAppender() -{ -} +NullAppender::NullAppender() = default; NullAppender::NullAppender(const helpers::Properties& properties) diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 5beae8069..2fb832340 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -35,8 +35,7 @@ ObjectRegistryBase::ObjectRegistryBase() { } -ObjectRegistryBase::~ObjectRegistryBase() -{ } +ObjectRegistryBase::~ObjectRegistryBase() = default; diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index e95914e7f..189a7da12 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -96,7 +96,7 @@ class PatternConverter { public: explicit PatternConverter(const FormattingInfo& info); - virtual ~PatternConverter() {} + virtual ~PatternConverter() = default; void formatAndAppend(tostream& output, const spi::InternalLoggingEvent& event); @@ -1110,8 +1110,7 @@ PatternLayout::init(const tstring& pattern_, unsigned ndcMaxDepth) -PatternLayout::~PatternLayout() -{ } +PatternLayout::~PatternLayout() = default; diff --git a/src/property.cxx b/src/property.cxx index de18fff13..8ed4f4dd9 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -279,9 +279,7 @@ Properties::init(tistream& input) -Properties::~Properties() -{ -} +Properties::~Properties() = default; diff --git a/src/queue.cxx b/src/queue.cxx index 22eafc12a..f57afc2b9 100644 --- a/src/queue.cxx +++ b/src/queue.cxx @@ -42,8 +42,7 @@ Queue::Queue (unsigned len) { } -Queue::~Queue () -{ } +Queue::~Queue () = default; Queue::flags_type diff --git a/src/socket.cxx b/src/socket.cxx index ce0bfffee..549d616d1 100644 --- a/src/socket.cxx +++ b/src/socket.cxx @@ -157,8 +157,7 @@ Socket::Socket (Socket && other) LOG4CPLUS_NOEXCEPT { } -Socket::~Socket() -{ } +Socket::~Socket() = default; Socket & From 10a6246b9e30afa7b5d71dc0aee08c3d32cf4523 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:49:50 -0700 Subject: [PATCH 095/353] [clang-tidy] Match references Found with performance-unnecessary-copy-initialization (cherry picked from commit f69468dbc5c573c13e5f7e69c53d1ba34200b519) Signed-off-by: Vaclav Haisman --- src/clfsappender.cxx | 2 +- src/filter.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index 83ae03c66..8429c984c 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -93,7 +93,7 @@ CLFSAppender::CLFSAppender (helpers::Properties const & props) : Appender (props) , data (new Data) { - tstring logname = props.getProperty (LOG4CPLUS_TEXT ("LogName")); + const tstring& logname = props.getProperty (LOG4CPLUS_TEXT ("LogName")); unsigned long logsize = CLFS_APPENDER_INITIAL_LOG_SIZE; props.getULong (logsize, LOG4CPLUS_TEXT ("LogSize")); diff --git a/src/filter.cxx b/src/filter.cxx index c3416837a..abaacaf60 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -341,7 +341,7 @@ FilterResult MDCMatchFilter::decide(const InternalLoggingEvent& event) const if(neutralOnEmpty && (mdcKeyToMatch.empty() || mdcValueToMatch.empty())) return NEUTRAL; - const tstring mdcStr = event.getMDC(mdcKeyToMatch); + const tstring& mdcStr = event.getMDC(mdcKeyToMatch); if(neutralOnEmpty && mdcStr.empty()) return NEUTRAL; From d0d264966aae6b7720e07148e3c6a511c0671914 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:52:55 -0700 Subject: [PATCH 096/353] [clang-tidy] Avoid using .compare Found using readability-string-compare (cherry picked from commit 7fd118476bbc4dbb60b4b9d67b488a7d7f775f8a) Signed-off-by: Vaclav Haisman --- src/filter.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/filter.cxx b/src/filter.cxx index abaacaf60..381a9b348 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -304,7 +304,7 @@ FilterResult NDCMatchFilter::decide(const InternalLoggingEvent& event) const return NEUTRAL; } - if(ndcStr.compare(ndcToMatch) == 0) + if(ndcStr == ndcToMatch) return (acceptOnMatch ? ACCEPT : DENY); return (acceptOnMatch ? DENY : ACCEPT); @@ -346,7 +346,7 @@ FilterResult MDCMatchFilter::decide(const InternalLoggingEvent& event) const if(neutralOnEmpty && mdcStr.empty()) return NEUTRAL; - if(mdcStr.compare(mdcValueToMatch) == 0) + if(mdcStr == mdcValueToMatch) return (acceptOnMatch ? ACCEPT : DENY); return (acceptOnMatch ? DENY : ACCEPT); From df67c18fd090c1841fe08c0a71a487b3cc00f6dc Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:55:06 -0700 Subject: [PATCH 097/353] [clang-tidy] Don't use redundant get on smart pointers Found with readability-redundant-smartptr-get (cherry picked from commit 7cdd39008722a2d9e41c18d210f255f984b0bac9) Signed-off-by: Vaclav Haisman --- src/appender.cxx | 2 +- src/fileappender.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/appender.cxx b/src/appender.cxx index 5d617daf3..144564ca8 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -419,7 +419,7 @@ Appender::getErrorHandler() void Appender::setErrorHandler(std::unique_ptr eh) { - if (! eh.get()) + if (! eh) { // We do not throw exception here since the cause is probably a // bad config file. diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 98912d4c7..4e32393c9 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -284,7 +284,7 @@ FileAppenderBase::init() } helpers::LockFileGuard guard; - if (useLockFile && ! lockFile.get ()) + if (useLockFile && ! lockFile) { if (createDirs) internal::make_dirs (lockFileName); From 28375e7307c2c12b4d75496b5720303f3aedbdf3 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 21:58:12 -0700 Subject: [PATCH 098/353] [clang-tidy] Replace iterator loops with range based ones Found using modernize-loop-convert (cherry picked from commit 63bbb07cbdbfd0c6dd67e6f89cc7ee692503176d) Signed-off-by: Vaclav Haisman --- src/configurator.cxx | 4 +--- src/log4judpappender.cxx | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/configurator.cxx b/src/configurator.cxx index 2659e53bb..64cae52ed 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -351,10 +351,8 @@ PropertyConfigurator::replaceEnvironVariables() { changed = false; keys = properties.propertyNames(); - for (auto it = keys.begin(); - it != keys.end(); ++it) + for (auto & key : keys) { - tstring const & key = *it; val = properties.getProperty(key); subKey.clear (); diff --git a/src/log4judpappender.cxx b/src/log4judpappender.cxx index 1bfadaeb4..eeb86dd0f 100644 --- a/src/log4judpappender.cxx +++ b/src/log4judpappender.cxx @@ -58,9 +58,8 @@ static void output_xml_escaped (tostream & os, tstring const & str) { - for (tstring::const_iterator it = str.begin (); it != str.end (); ++it) + for (char ch : str) { - tchar const & ch = *it; switch (ch) { case LOG4CPLUS_TEXT ('<'): From 7b9460cd1abf9049a3d002f89c85fd6ff6e848cc Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:18:52 -0700 Subject: [PATCH 099/353] [clang-tidy] Add delete to prevent calling certain functions Found with modernize-use-equals-delete (cherry picked from commit 10e09dd4b7c865a3dd3039ed0c96aa3fdbcaa7a0) Signed-off-by: Vaclav Haisman --- src/configurator.cxx | 4 ++-- src/patternlayout.cxx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/configurator.cxx b/src/configurator.cxx index 64cae52ed..069bfb0ec 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -621,9 +621,9 @@ class ConfigurationWatchDogThread void updateLastModInfo(); private: - ConfigurationWatchDogThread (ConfigurationWatchDogThread const &); + ConfigurationWatchDogThread (ConfigurationWatchDogThread const &) = delete; ConfigurationWatchDogThread & operator = ( - ConfigurationWatchDogThread const &); + ConfigurationWatchDogThread const &) = delete; unsigned int const waitMillis; thread::ManualResetEvent shouldTerminate; diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 189a7da12..373132821 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -159,8 +159,8 @@ class BasicPatternConverter private: // Disable copy - BasicPatternConverter(const BasicPatternConverter&); - BasicPatternConverter& operator=(BasicPatternConverter&); + BasicPatternConverter(const BasicPatternConverter&) = delete; + BasicPatternConverter& operator=(BasicPatternConverter&) = delete; LogLevelManager& llmCache; Type type; From 0d14a715ff081a9c795dab343cc07bff9a646cf1 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:23:18 -0700 Subject: [PATCH 100/353] [clang-tidy] Replace virtual with override Found with modernize-use-override (cherry picked from commit f298898450943735ad668f86a8d1fbb83a6f579b) Signed-off-by: Vaclav Haisman --- src/configurator.cxx | 8 ++++---- src/loglevel.cxx | 16 ++++++---------- src/msttsappender.cxx | 5 ++--- src/patternlayout.cxx | 36 ++++++++++++++++++------------------ 4 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/configurator.cxx b/src/configurator.cxx index 069bfb0ec..5227a5fa7 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -604,7 +604,7 @@ class ConfigurationWatchDogThread updateLastModInfo(); } - virtual ~ConfigurationWatchDogThread () = default; + ~ConfigurationWatchDogThread () override = default; void terminate () { @@ -613,9 +613,9 @@ class ConfigurationWatchDogThread } protected: - virtual void run(); - virtual Logger getLogger(const tstring& name); - virtual void addAppender(Logger &logger, SharedAppenderPtr& appender); + void run() override; + Logger getLogger(const tstring& name) override; + void addAppender(Logger &logger, SharedAppenderPtr& appender) override; bool checkForFileModification(); void updateLastModInfo(); diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 9cb10a286..83ad7b8cb 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -58,11 +58,10 @@ class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator public: DefaultLogLevelTranslator () = default; - virtual ~DefaultLogLevelTranslator () = default; + ~DefaultLogLevelTranslator () override = default; - virtual log4cplus::tstring const & - toString (LogLevel ll) const + toString (LogLevel ll) const override { switch(ll) { case OFF_LOG_LEVEL: return OFF_STRING; @@ -79,9 +78,8 @@ class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator return internal::empty_str; } - virtual LogLevel - fromString (const log4cplus::tstring_view& s) const + fromString (const log4cplus::tstring_view& s) const override { // Since C++11, accessing str[0] is always safe as it returns '\0' for // empty string. @@ -121,11 +119,10 @@ class LOG4CPLUS_PRIVATE SingleLogLevelTranslator , name (name_) { } - virtual ~SingleLogLevelTranslator () = default; + ~SingleLogLevelTranslator () override = default; - virtual log4cplus::tstring const & - toString (LogLevel ll) const + toString (LogLevel ll) const override { if (ll == log_level) return name; @@ -133,9 +130,8 @@ class LOG4CPLUS_PRIVATE SingleLogLevelTranslator return internal::empty_str; } - virtual LogLevel - fromString (const log4cplus::tstring_view& s) const + fromString (const log4cplus::tstring_view& s) const override { if (s == name) return log_level; diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 1bddf0442..fcb574ce3 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -108,7 +108,7 @@ class SpeechObjectThread } - ~SpeechObjectThread () + ~SpeechObjectThread () override { if (! CloseHandle (terminate_ev)) loglog_win32_error ( @@ -116,9 +116,8 @@ class SpeechObjectThread } - virtual void - run () + run () override { COMInitializer com_init (COINIT_MULTITHREADED); diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 373132821..afaef0d58 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -122,8 +122,8 @@ class LiteralPatternConverter : public PatternConverter public: LiteralPatternConverter(); explicit LiteralPatternConverter(const tstring& str); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent&) + void convert(tstring & result, + const spi::InternalLoggingEvent&) override { result = str; } @@ -154,8 +154,8 @@ class BasicPatternConverter FULL_LOCATION_CONVERTER, FUNCTION_CONVERTER }; BasicPatternConverter(const FormattingInfo& info, Type type); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: // Disable copy @@ -175,8 +175,8 @@ class BasicPatternConverter class LoggerPatternConverter : public PatternConverter { public: LoggerPatternConverter(const FormattingInfo& info, int precision); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: int precision; @@ -194,8 +194,8 @@ class DatePatternConverter : public PatternConverter { DatePatternConverter(const FormattingInfo& info, const tstring& pattern, bool use_gmtime); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: bool use_gmtime; @@ -210,8 +210,8 @@ class EnvPatternConverter : public PatternConverter { public: EnvPatternConverter(const FormattingInfo& info, const log4cplus::tstring& env); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: log4cplus::tstring envKey; @@ -222,8 +222,8 @@ class EnvPatternConverter : public PatternConverter { class RelativeTimestampConverter: public PatternConverter { public: RelativeTimestampConverter(const FormattingInfo& info); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; }; @@ -233,8 +233,8 @@ class RelativeTimestampConverter: public PatternConverter { class HostnamePatternConverter : public PatternConverter { public: HostnamePatternConverter(const FormattingInfo& info, bool fqdn); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: tstring hostname_; @@ -251,8 +251,8 @@ class MDCPatternConverter { public: MDCPatternConverter(const FormattingInfo& info, tstring const & k); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: tstring key; @@ -267,8 +267,8 @@ class MDCPatternConverter class NDCPatternConverter : public PatternConverter { public: NDCPatternConverter(const FormattingInfo& info, int precision); - virtual void convert(tstring & result, - const spi::InternalLoggingEvent& event); + void convert(tstring & result, + const spi::InternalLoggingEvent& event) override; private: int precision; From 2fdc508c45774db675e9c6424a70367c2a521c82 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:25:22 -0700 Subject: [PATCH 101/353] [clang-tidy] Add explicit to single argument constructors Found with google-explicit-constructor (cherry picked from commit 2610676eeabbe21b35e1ed5da5a927cfe68a0f4e) Signed-off-by: Vaclav Haisman --- src/log4judpappender.cxx | 2 +- src/msttsappender.cxx | 2 +- src/patternlayout.cxx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/log4judpappender.cxx b/src/log4judpappender.cxx index eeb86dd0f..6c7946c40 100644 --- a/src/log4judpappender.cxx +++ b/src/log4judpappender.cxx @@ -107,7 +107,7 @@ output_xml_escaped (tostream & os, tstring const & str) //! Helper manipulator like class for escaped XML output. struct outputXMLEscaped { - outputXMLEscaped (tstring const & s) + explicit outputXMLEscaped (tstring const & s) : str (s) { } diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index fcb574ce3..77231c546 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -97,7 +97,7 @@ class SpeechObjectThread : public virtual log4cplus::thread::AbstractThread { public: - SpeechObjectThread (ISpVoice * & ispvoice_ref) + explicit SpeechObjectThread (ISpVoice * & ispvoice_ref) : ispvoice (ispvoice_ref) { terminate_ev = CreateEvent (0, true, false, 0); diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index afaef0d58..2b00eea73 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -221,7 +221,7 @@ class EnvPatternConverter : public PatternConverter { //! This pattern is used to format miliseconds since process start. class RelativeTimestampConverter: public PatternConverter { public: - RelativeTimestampConverter(const FormattingInfo& info); + explicit RelativeTimestampConverter(const FormattingInfo& info); void convert(tstring & result, const spi::InternalLoggingEvent& event) override; }; From 9f1b4cc3b699824e5dc780e634fecb90a0b1d7ba Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:31:15 -0700 Subject: [PATCH 102/353] [clang-tidy] Use concatenated namespaces instead of nested Found with llvm-namespace-comment (cherry picked from commit 50b7ebe6df7c6a3cdb9083d7c765ffb382f7e845) Signed-off-by: Vaclav Haisman --- src/clfsappender.cxx | 2 +- src/clogger.cxx | 6 +----- src/connectorthread.cxx | 4 ++-- src/env.cxx | 4 ++-- src/fileinfo.cxx | 4 ++-- src/filter.cxx | 4 ++-- src/lockfile.cxx | 4 ++-- src/loggerimpl.cxx | 4 ++-- src/loggingevent.cxx | 4 ++-- src/loggingmacros.cxx | 4 ++-- src/loglog.cxx | 4 ++-- src/objectregistry.cxx | 4 ++-- src/pointer.cxx | 4 ++-- src/property.cxx | 4 ++-- src/queue.cxx | 4 ++-- src/rootlogger.cxx | 4 ++-- src/snprintf.cxx | 6 +++--- src/socket-unix.cxx | 4 ++-- src/socket.cxx | 4 ++-- src/socketbuffer.cxx | 4 ++-- src/stringhelper-clocale.cxx | 7 +------ src/stringhelper-cxxlocale.cxx | 7 +------ src/stringhelper.cxx | 14 ++------------ src/syncprims.cxx | 10 ++-------- src/threads.cxx | 4 ++-- src/timehelper.cxx | 4 ++-- src/tls.cxx | 4 ++-- 27 files changed, 51 insertions(+), 81 deletions(-) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index 8429c984c..d7a0d7a51 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -64,7 +64,7 @@ loglog_win32_error (tchar const * msg) helpers::getLogLog ().error (oss.str ()); } -} +} // namespace struct CLFSAppender::Data diff --git a/src/clogger.cxx b/src/clogger.cxx index 6be65246b..38b9d4a3f 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -382,9 +382,7 @@ log4cplus_logger_force_log_str(const log4cplus_char_t *name, loglevel_t ll, } -namespace log4cplus { - -namespace internal { +namespace log4cplus::internal { CustomLogLevelManager::CustomLogLevelManager () : pushed_methods (false) @@ -473,8 +471,6 @@ CustomLogLevelManager::fromString (const log4cplus::tstring_view& nm) const return NOT_SET_LOG_LEVEL; } -} // namespace internal - } // namespace log4cplus diff --git a/src/connectorthread.cxx b/src/connectorthread.cxx index 3532cb6cb..64a3bf28c 100644 --- a/src/connectorthread.cxx +++ b/src/connectorthread.cxx @@ -27,7 +27,7 @@ #if ! defined (LOG4CPLUS_SINGLE_THREADED) -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { IConnectorThreadClient::~IConnectorThreadClient () = default; @@ -122,6 +122,6 @@ ConnectorThread::trigger () } -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers #endif // ! defined (LOG4CPLUS_SINGLE_THREADED) diff --git a/src/env.cxx b/src/env.cxx index 2fde1ba30..910b2568d 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -58,7 +58,7 @@ #include -namespace log4cplus { namespace internal { +namespace log4cplus::internal { #if defined(_WIN32) tstring const dir_sep(LOG4CPLUS_TEXT("\\")); @@ -669,4 +669,4 @@ make_dirs (tstring const & file_path) } -} } // namespace log4cplus { namespace internal { +} // namespace log4cplus::internal diff --git a/src/fileinfo.cxx b/src/fileinfo.cxx index 412ea4924..93459ece5 100644 --- a/src/fileinfo.cxx +++ b/src/fileinfo.cxx @@ -39,7 +39,7 @@ #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { int @@ -69,4 +69,4 @@ getFileInfo (FileInfo * fi, tstring const & name) return 0; } -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/filter.cxx b/src/filter.cxx index 381a9b348..052d6dea6 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -33,7 +33,7 @@ #endif -namespace log4cplus { namespace spi { +namespace log4cplus::spi { /////////////////////////////////////////////////////////////////////////////// // global methods @@ -710,4 +710,4 @@ CATCH_TEST_CASE ("Filter", "[filter]") #endif -} } // namespace log4cplus { namespace spi { +} // namespace log4cplus::spi diff --git a/src/lockfile.cxx b/src/lockfile.cxx index a1f3a4c9d..b5bd418aa 100644 --- a/src/lockfile.cxx +++ b/src/lockfile.cxx @@ -81,7 +81,7 @@ #error "no usable file locking" #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { #if defined (_WIN32) @@ -375,4 +375,4 @@ void LockFile::unlock () const -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/loggerimpl.cxx b/src/loggerimpl.cxx index cbf9ba1dd..fe09d104a 100644 --- a/src/loggerimpl.cxx +++ b/src/loggerimpl.cxx @@ -28,7 +28,7 @@ #include -namespace log4cplus { namespace spi { +namespace log4cplus::spi { ////////////////////////////////////////////////////////////////////////////// // Logger Constructors and Destructor @@ -177,4 +177,4 @@ LoggerImpl::forcedLog(spi::InternalLoggingEvent const & ev) } -} } // namespace log4cplus { namespace spi { +} // namespace log4cplus::spi diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 288da275a..09386243c 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -23,7 +23,7 @@ #include -namespace log4cplus { namespace spi { +namespace log4cplus::spi { static const int LOG4CPLUS_DEFAULT_TYPE = 1; @@ -298,4 +298,4 @@ InternalLoggingEvent::swap (InternalLoggingEvent & other) } -} } // namespace log4cplus { namespace spi { +} // namespace log4cplus::spi diff --git a/src/loggingmacros.cxx b/src/loggingmacros.cxx index d8a064ef7..006ae365f 100644 --- a/src/loggingmacros.cxx +++ b/src/loggingmacros.cxx @@ -25,7 +25,7 @@ #include -namespace log4cplus { namespace detail { +namespace log4cplus::detail { //! Helper stream to get the defaults from. @@ -97,4 +97,4 @@ macro_forced_log (log4cplus::Logger const & logger, } -} } // namespace log4cplus { namespace detail { +} // namespace log4cplus::detail diff --git a/src/loglog.cxx b/src/loglog.cxx index 8913f7c70..e2c011f3b 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -28,7 +28,7 @@ #include -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { namespace { @@ -184,4 +184,4 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, } -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 2fb832340..2f1f89113 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -23,7 +23,7 @@ #include -namespace log4cplus { namespace spi { +namespace log4cplus::spi { /////////////////////////////////////////////////////////////////////////////// @@ -126,4 +126,4 @@ ObjectRegistryBase::_enableLocking (bool enable) } -} } // namespace log4cplus { namespace spi { +} // namespace log4cplus::spi diff --git a/src/pointer.cxx b/src/pointer.cxx index 6e5815f51..ce84eb6ca 100644 --- a/src/pointer.cxx +++ b/src/pointer.cxx @@ -25,7 +25,7 @@ #include -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { /////////////////////////////////////////////////////////////////////////////// @@ -78,4 +78,4 @@ SharedObject::removeReference() const } -} } // namespace log4cplus { namespace helpers +} // namespace log4cplus::helpers diff --git a/src/property.cxx b/src/property.cxx index 8ed4f4dd9..83414ef8a 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -47,7 +47,7 @@ #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { const tchar Properties::PROPERTIES_COMMENT_CHAR = LOG4CPLUS_TEXT('#'); @@ -536,4 +536,4 @@ CATCH_TEST_CASE ("Properties", "[properties]") #endif -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/queue.cxx b/src/queue.cxx index f57afc2b9..ba5ca9eec 100644 --- a/src/queue.cxx +++ b/src/queue.cxx @@ -32,7 +32,7 @@ #include -namespace log4cplus { namespace thread { +namespace log4cplus::thread { Queue::Queue (unsigned len) @@ -186,7 +186,7 @@ Queue::get_events (queue_storage_type * buf) } -} } // namespace log4cplus { namespace thread { +} // namespace log4cplus::thread #endif // LOG4CPLUS_SINGLE_THREADED diff --git a/src/rootlogger.cxx b/src/rootlogger.cxx index 251b58911..208a6f503 100644 --- a/src/rootlogger.cxx +++ b/src/rootlogger.cxx @@ -23,7 +23,7 @@ #include -namespace log4cplus { namespace spi { +namespace log4cplus::spi { ////////////////////////////////////////////////////////////////////////////// @@ -62,4 +62,4 @@ RootLogger::setLogLevel(LogLevel loglevel) } -} } // namespace log4cplus { namespace spi { +} // namespace log4cplus::spi diff --git a/src/snprintf.cxx b/src/snprintf.cxx index 2898f519a..e8b7cb021 100644 --- a/src/snprintf.cxx +++ b/src/snprintf.cxx @@ -44,7 +44,7 @@ #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { std::size_t const START_BUF_SIZE = 512; @@ -162,7 +162,7 @@ vsntprintf (tchar * dest, std::size_t dest_size, tchar const * fmt, #endif -} +} // namespace snprintf_buf::snprintf_buf () @@ -285,4 +285,4 @@ CATCH_TEST_CASE ("snprintf_buf", "[snprintf_buf]") #endif -} } // namespace log4cplus { namespace helpers +} // namespace log4cplus::helpers diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 6cfac7e31..2f3e3adc1 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -73,7 +73,7 @@ #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { // from lockfile.cxx LOG4CPLUS_PRIVATE bool trySetCloseOnExec (int fd); @@ -676,6 +676,6 @@ ServerSocket::~ServerSocket() ::close (interruptHandles[1]); } -} } // namespace log4cplus +} // namespace log4cplus #endif // LOG4CPLUS_USE_BSD_SOCKETS diff --git a/src/socket.cxx b/src/socket.cxx index 549d616d1..388f7ec51 100644 --- a/src/socket.cxx +++ b/src/socket.cxx @@ -23,7 +23,7 @@ #include -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { extern LOG4CPLUS_EXPORT SOCKET_TYPE const INVALID_SOCKET_VALUE @@ -262,4 +262,4 @@ openSocket(unsigned short port, bool udp, bool ipv6, SocketState& state) } -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/socketbuffer.cxx b/src/socketbuffer.cxx index 8ad671e5d..b0b941ebe 100644 --- a/src/socketbuffer.cxx +++ b/src/socketbuffer.cxx @@ -42,7 +42,7 @@ #endif -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { ////////////////////////////////////////////////////////////////////////////// @@ -325,4 +325,4 @@ CATCH_TEST_CASE ("SocketBuffer", "[sockets]") #endif -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/stringhelper-clocale.cxx b/src/stringhelper-clocale.cxx index a0d273195..91a5210d2 100644 --- a/src/stringhelper-clocale.cxx +++ b/src/stringhelper-clocale.cxx @@ -31,10 +31,7 @@ #include -namespace log4cplus -{ - -namespace helpers +namespace log4cplus::helpers { @@ -166,6 +163,4 @@ towstring (char const * src) #endif // LOG4CPLUS_WORKING_C_LOCALE -} // namespace helpers - } // namespace log4cplus diff --git a/src/stringhelper-cxxlocale.cxx b/src/stringhelper-cxxlocale.cxx index 7b2fa6b5d..7eab066bf 100644 --- a/src/stringhelper-cxxlocale.cxx +++ b/src/stringhelper-cxxlocale.cxx @@ -36,10 +36,7 @@ #include -namespace log4cplus -{ - -namespace helpers +namespace log4cplus::helpers { void clear_mbstate (std::mbstate_t &); @@ -243,6 +240,4 @@ tostring(wchar_t const * src) #endif // LOG4CPLUS_WORKING_LOCALE -} // namespace helpers - } // namespace log4cplus diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 04389a9e8..5077e43d7 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -36,16 +36,11 @@ #endif -namespace log4cplus -{ - -namespace internal +namespace log4cplus::internal { log4cplus::tstring const empty_str; -} // namespace internal - } // namespace log4cplus @@ -64,10 +59,7 @@ operator <<(log4cplus::tostream& stream, const char* str) #endif -namespace log4cplus -{ - -namespace helpers +namespace log4cplus::helpers { @@ -523,6 +515,4 @@ CATCH_TEST_CASE( "Strings helpers", "[strings]" ) -} // namespace helpers - } // namespace log4cplus diff --git a/src/syncprims.cxx b/src/syncprims.cxx index 9f559de7f..f2766338a 100644 --- a/src/syncprims.cxx +++ b/src/syncprims.cxx @@ -27,10 +27,7 @@ #include -namespace log4cplus { namespace thread { - - -namespace impl +namespace log4cplus::thread::impl { @@ -45,7 +42,4 @@ syncprims_throw_exception (char const * const msg, char const * const file, } -} - - -} } // namespace log4cplus { namespace thread namespace impl { +} // namespace log4cplus::thread::impl diff --git a/src/threads.cxx b/src/threads.cxx index 47103ba96..ebe6ca88d 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -68,7 +68,7 @@ #endif // LOG4CPLUS_SINGLE_THREADED -namespace log4cplus { namespace thread { +namespace log4cplus::thread { LOG4CPLUS_EXPORT void @@ -312,4 +312,4 @@ AbstractThread::~AbstractThread() #endif // LOG4CPLUS_SINGLE_THREADED -} } // namespace log4cplus { namespace thread { +} // namespace log4cplus::thread diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 306efd583..7ae15143d 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -56,7 +56,7 @@ #include -namespace log4cplus { namespace helpers { +namespace log4cplus::helpers { const int ONE_SEC_IN_USEC = 1000000; @@ -315,4 +315,4 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, } -} } // namespace log4cplus { namespace helpers { +} // namespace log4cplus::helpers diff --git a/src/tls.cxx b/src/tls.cxx index 96399ddaa..ce4983248 100644 --- a/src/tls.cxx +++ b/src/tls.cxx @@ -24,7 +24,7 @@ #include -namespace log4cplus { namespace thread { namespace impl { +namespace log4cplus::thread::impl { #if defined (LOG4CPLUS_SINGLE_THREADED) @@ -37,4 +37,4 @@ std::vector * tls_single_threaded_values; #endif -} } } // namespace log4cplus { namespace thread { namespace impl { +} // namespace log4cplus::thread::impl From b6a085a1c6edd7fce0980025f8a8f0e8448886e7 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 22:40:14 -0700 Subject: [PATCH 103/353] [clang-tidy] Switch literal suffix to uppercase Found using hicpp-uppercase-literal-suffix (cherry picked from commit f8500dec603c255db64d20711042a9510ee438f9) Signed-off-by: Vaclav Haisman --- src/configurator.cxx | 2 +- src/pointer.cxx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/configurator.cxx b/src/configurator.cxx index 5227a5fa7..cbfc6b920 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -291,7 +291,7 @@ PropertyConfigurator::configure() unsigned int thread_pool_size; if (properties.getUInt (thread_pool_size, LOG4CPLUS_TEXT ("threadPoolSize"))) - thread_pool_size = (std::min) (thread_pool_size, 1024u); + thread_pool_size = (std::min) (thread_pool_size, 1024U); else thread_pool_size = 4; diff --git a/src/pointer.cxx b/src/pointer.cxx index ce84eb6ca..75f3e33bb 100644 --- a/src/pointer.cxx +++ b/src/pointer.cxx @@ -50,7 +50,7 @@ SharedObject::addReference() const LOG4CPLUS_NOEXCEPT ++count__; #else - std::atomic_fetch_add_explicit (&count__, 1u, + std::atomic_fetch_add_explicit (&count__, 1U, std::memory_order_relaxed); #endif @@ -67,7 +67,7 @@ SharedObject::removeReference() const destroy = --count__ == 0; #else - destroy = std::atomic_fetch_sub_explicit (&count__, 1u, + destroy = std::atomic_fetch_sub_explicit (&count__, 1U, std::memory_order_release) == 1; if (LOG4CPLUS_UNLIKELY (destroy)) std::atomic_thread_fence (std::memory_order_acquire); From 156a3e8c7eea895100c8a4b4a4f568e646b7a751 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 4 Sep 2019 20:56:48 -0700 Subject: [PATCH 104/353] [clang-tidy] use make_unique Found using modernize-make-unique --- src/appender.cxx | 3 ++- src/fileappender.cxx | 3 ++- src/log4judpappender.cxx | 3 ++- src/patternlayout.cxx | 3 ++- src/threads.cxx | 7 ++++--- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/appender.cxx b/src/appender.cxx index 144564ca8..1203bf67e 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -188,7 +189,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) { try { - lockFile.reset (new helpers::LockFile (lockFileName)); + lockFile = std::make_unique (lockFileName); } catch (std::runtime_error const &) { diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 4e32393c9..87c37afd0 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -291,7 +292,7 @@ FileAppenderBase::init() try { - lockFile.reset (new helpers::LockFile (lockFileName)); + lockFile = std::make_unique (lockFileName); guard.attach_and_lock (*lockFile); } catch (std::runtime_error const &) diff --git a/src/log4judpappender.cxx b/src/log4judpappender.cxx index 6c7946c40..e5e7402fa 100644 --- a/src/log4judpappender.cxx +++ b/src/log4judpappender.cxx @@ -33,6 +33,7 @@ #else #include #endif +#include namespace log4cplus @@ -137,7 +138,7 @@ Log4jUdpAppender::Log4jUdpAppender(const tstring& host_, int port_, bool ipv6_) , port(port_) , ipv6(ipv6_) { - layout.reset (new PatternLayout (LOG4CPLUS_TEXT ("%m"))); + layout = std::make_unique (LOG4CPLUS_TEXT ("%m")); openSocket(); } diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 2b00eea73..6381411c9 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -29,6 +29,7 @@ #include #include #include +#include namespace @@ -1093,7 +1094,7 @@ PatternLayout::init(const tstring& pattern_, unsigned ndcMaxDepth) { helpers::getLogLog().error( LOG4CPLUS_TEXT("Parsed Pattern created a NULL PatternConverter")); - pc.reset (new pattern::LiteralPatternConverter); + pc = std::make_unique (); } } diff --git a/src/threads.cxx b/src/threads.cxx index ebe6ca88d..0bae9a772 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -258,8 +259,8 @@ AbstractThread::start() try { flags |= fRUNNING; - thread.reset ( - new std::thread ([this] (AbstractThreadPtr const & thread_ptr) { + thread = std::make_unique ( + [this] (AbstractThreadPtr const & thread_ptr) { (void) thread_ptr; blockAllSignals (); helpers::LogLog & loglog = helpers::getLogLog(); @@ -281,7 +282,7 @@ AbstractThread::start() } this->flags &= ~fRUNNING; threadCleanup (); - }, AbstractThreadPtr (this))); + }, AbstractThreadPtr (this)); } catch (...) { From 65cb4287ab2b32c7c11d2feae21b3e254a363722 Mon Sep 17 00:00:00 2001 From: Pawel Maczewski Date: Wed, 18 Sep 2019 09:51:01 +0200 Subject: [PATCH 105/353] This commit fixes build issue on the modern iOS platform: it builds for 64-bit architectures now, which is required by modern targets. I also changed the C++ standard to 17, so it even compiles. --- iOS/iOS.cmake | 5 ++--- iOS/scripts/cmake_ios_armv7.sh | 2 +- iOS/scripts/cmake_ios_i386.sh | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/iOS/iOS.cmake b/iOS/iOS.cmake index df2e3faca..9c613aac7 100644 --- a/iOS/iOS.cmake +++ b/iOS/iOS.cmake @@ -142,11 +142,10 @@ set (CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Location of the select set (CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Sysroot used for iOS support") # set the architecture for iOS -# NOTE: Currently both ARCHS_STANDARD_32_BIT and ARCHS_UNIVERSAL_IPHONE_OS set armv7 only, so set both manually if (${IOS_PLATFORM} STREQUAL "OS") - set (IOS_ARCH armv6 armv7) + set (IOS_ARCH arm64) else (${IOS_PLATFORM} STREQUAL "OS") - set (IOS_ARCH i386) + set (IOS_ARCH x86_64) endif (${IOS_PLATFORM} STREQUAL "OS") set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE string "Build architecture for iOS") diff --git a/iOS/scripts/cmake_ios_armv7.sh b/iOS/scripts/cmake_ios_armv7.sh index 1abd7ad78..4aa9e064b 100755 --- a/iOS/scripts/cmake_ios_armv7.sh +++ b/iOS/scripts/cmake_ios_armv7.sh @@ -13,7 +13,7 @@ cmake -G "Xcode" -DBUILD_SHARED_LIBS="FALSE" \ -DLOG4CPLUS_BUILD_LOGGINGSERVER="OFF" \ -DLOG4CPLUS_CONFIGURE_CHECKS_PATH=$scripts_dir/../ConfigureChecks.cmake \ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=$scripts_dir/../build_armv7/Binaries \ - -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DCMAKE_CXX_FLAGS="-std=c++17" \ $@ \ $scripts_dir/../.. diff --git a/iOS/scripts/cmake_ios_i386.sh b/iOS/scripts/cmake_ios_i386.sh index 31fee0197..d3f45b96b 100755 --- a/iOS/scripts/cmake_ios_i386.sh +++ b/iOS/scripts/cmake_ios_i386.sh @@ -14,6 +14,7 @@ cmake -G "Xcode" -DBUILD_SHARED_LIBS="FALSE" \ -DLOG4CPLUS_BUILD_LOGGINGSERVER="OFF" \ -DLOG4CPLUS_CONFIGURE_CHECKS_PATH=$scripts_dir/../ConfigureChecks.cmake \ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=$scripts_dir/../build_i386/Binaries \ + -DCMAKE_CXX_FLAGS="-std=c++17" \ $@ \ $scripts_dir/../.. From 54874a9d60bb96aef0c53cab1e89adfbf19d67cb Mon Sep 17 00:00:00 2001 From: Peter Pei Date: Mon, 21 Oct 2019 13:14:36 -0400 Subject: [PATCH 106/353] Support "=" in sub-config file path. If there is a "=" in the path of sub-config file, and we include it in the main config file like: ``` include D:/path/to/sub=config.ini ``` it will not work. Because we parse line with "=" in it as a key/value pair. This PR is going to fix this issue and support "=" in the "include" directive. --- src/property.cxx | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/property.cxx b/src/property.cxx index 83414ef8a..2ac0f6e11 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -247,17 +247,8 @@ Properties::init(tistream& input) // Remove trailing 'Windows' \r. buffer.resize (buffLen - 1); - tstring::size_type const idx = buffer.find(LOG4CPLUS_TEXT ('=')); - if (idx != tstring::npos) - { - tstring key = buffer.substr(0, idx); - tstring value = buffer.substr(idx + 1); - trim_trailing_ws (key); - trim_ws (value); - setProperty(key, value); - } - else if (buffer.compare (0, 7, LOG4CPLUS_TEXT ("include")) == 0 - && buffer.size () >= 7 + 1 + 1 + if (buffer.size () >= 7 + 1 + 1 + && buffer.compare (0, 7, LOG4CPLUS_TEXT ("include")) == 0 && is_space (buffer[7])) { tstring included (buffer, 8) ; @@ -274,6 +265,18 @@ Properties::init(tistream& input) init (file); } + else + { + tstring::size_type const idx = buffer.find(LOG4CPLUS_TEXT ('=')); + if (idx != tstring::npos) + { + tstring key = buffer.substr(0, idx); + tstring value = buffer.substr(idx + 1); + trim_trailing_ws (key); + trim_ws (value); + setProperty(key, value); + } + } } } From 8396466a732050df4ca1c4792452186a5ab3514a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 16 Dec 2019 11:11:20 +0100 Subject: [PATCH 107/353] Add CallbackAppender source files to log4cplusS.vcxproj. This fixes #455. (cherry picked from commit d54960396fc4031052eb7ce6a989fd5d050d5da0) --- msvc14/log4cplusS.vcxproj | 2 ++ msvc14/log4cplusS.vcxproj.filters | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/msvc14/log4cplusS.vcxproj b/msvc14/log4cplusS.vcxproj index 6b98f0b35..ce7861789 100644 --- a/msvc14/log4cplusS.vcxproj +++ b/msvc14/log4cplusS.vcxproj @@ -331,6 +331,7 @@ %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) @@ -904,6 +905,7 @@ + diff --git a/msvc14/log4cplusS.vcxproj.filters b/msvc14/log4cplusS.vcxproj.filters index 6c3f9de41..662e544b7 100644 --- a/msvc14/log4cplusS.vcxproj.filters +++ b/msvc14/log4cplusS.vcxproj.filters @@ -187,6 +187,9 @@ helpers + + Appenders + @@ -387,6 +390,9 @@ thread\impl + + Appenders + From 4446516eb4fc8613d26669f5683f9d5d7c36ee67 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Wed, 18 Dec 2019 21:26:58 +0100 Subject: [PATCH 108/353] configure.ac: check for libraries in C mode Fixes check for libraries failures, e.g. (from config.log): arc-buildroot-linux-uclibc-g++ -o conftest -Os -Wall -fdiagnostics-show-caret -ftrack-macro-expansion -fdiagnostics-color=auto -Wextra -pedantic -Wstrict-aliasing -Wstrict-overflow -Woverloaded-virtual -Wold-style-cast -Wc++14-compat -Wundef -Wshadow -Wformat -Wnoexcept -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wno-variadic-macros -fvisibility=hidden conftest.cpp -latomic conftest.cpp:28:6: error: new declaration 'char __atomic_fetch_and_4()' ambiguates built-in declaration 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)' [-fpermissive] 28 | char __atomic_fetch_and_4 (); | ^~~~~~~~~~~~~~~~~~~~ conftest.cpp: In function 'int main()': conftest.cpp:32:30: error: too few arguments to function 'unsigned int __atomic_fetch_and_4(volatile void*, unsigned int, int)' 32 | return __atomic_fetch_and_4 (); | ^ Resulting in: checking for library containing __atomic_fetch_and_4... no instead (after the fix applied): checking for library containing __atomic_fetch_and_4... -latomic Signed-off-by: Peter Seiderer --- configure.ac | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index 72fbd870a..64eff1936 100644 --- a/configure.ac +++ b/configure.ac @@ -412,6 +412,7 @@ LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY], dnl Checks for libraries. +AC_LANG_PUSH([C]) AC_SEARCH_LIBS([__atomic_fetch_and_4], [atomic]) AC_SEARCH_LIBS([strerror], [cposix]) dnl On some systems libcompat exists only as a static library which @@ -422,6 +423,7 @@ AC_SEARCH_LIBS([setsockopt], [socket network net]) AS_IF([test "x$with_iconv" = "xyes"], [AC_SEARCH_LIBS([iconv_open], [iconv], [], [AC_SEARCH_LIBS([libiconv_open], [iconv])])]) +AC_LANG_POP([C]) dnl Windows/MinGW specific. @@ -497,7 +499,9 @@ dnl Multi threaded library. AS_VAR_APPEND([LIBS], [" $PTHREAD_LIBS"]) dnl required on HP-UX + AC_LANG_PUSH([C]) AC_SEARCH_LIBS([sem_init], [rt]) + AC_LANG_POP([C]) AS_CASE([$ax_cv_cxx_compiler_vendor], [gnu|clang], From af7e59c399e5350f1ddaf9621974993099ef0d7f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 19 Dec 2019 02:36:11 +0100 Subject: [PATCH 109/353] Regenerate `configure` script. --- configure | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 6b448aa91..ca781b122 100755 --- a/configure +++ b/configure @@ -10421,6 +10421,12 @@ fi fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing __atomic_fetch_and_4" >&5 $as_echo_n "checking for library containing __atomic_fetch_and_4... " >&6; } if ${ac_cv_search___atomic_fetch_and_4+:} false; then : @@ -10452,7 +10458,7 @@ for ac_lib in '' atomic; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search___atomic_fetch_and_4=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10508,7 +10514,7 @@ for ac_lib in '' cposix; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10564,7 +10570,7 @@ for ac_lib in '' nsl network net; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10620,7 +10626,7 @@ for ac_lib in '' socket network net; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_setsockopt=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10677,7 +10683,7 @@ for ac_lib in '' iconv; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_iconv_open=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10732,7 +10738,7 @@ for ac_lib in '' iconv; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_libiconv_open=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -10760,6 +10766,12 @@ fi fi fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + case "$target_os" in #( @@ -11843,7 +11855,13 @@ esac as_fn_append CXXFLAGS " $PTHREAD_CXXFLAGS" as_fn_append LIBS " $PTHREAD_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 $as_echo_n "checking for library containing sem_init... " >&6; } if ${ac_cv_search_sem_init+:} false; then : $as_echo_n "(cached) " >&6 @@ -11874,7 +11892,7 @@ for ac_lib in '' rt; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_cxx_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_sem_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ @@ -11899,6 +11917,12 @@ if test "$ac_res" != no; then : fi + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + case $ax_cv_cxx_compiler_vendor in #( gnu|clang) : From 76ff7e68c35e277440d414ba782eceedad8db7b1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 May 2020 22:31:19 +0200 Subject: [PATCH 110/353] Update threadpool. This fixes log4cplus/ThreadPool#1. Patch by: ambrop72 --- threadpool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/threadpool b/threadpool index cc0b6371d..fc20ceeb9 160000 --- a/threadpool +++ b/threadpool @@ -1 +1 @@ -Subproject commit cc0b6371d3963f7028c2da5fc007733f9f3bf205 +Subproject commit fc20ceeb92bb564a6d5e86cea35b70040a894c60 From ed0c57cc2fb0dc6708e9edc82ec3954f8fecd8d5 Mon Sep 17 00:00:00 2001 From: Tobias Frost Date: Wed, 28 Oct 2020 17:47:19 +0100 Subject: [PATCH 111/353] Generate pkgconfig file with CMake. --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d4692097b..bc8ac1dee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,3 +196,13 @@ message (STATUS "${CMAKE_CXX_COMPILER_ID} version ${CMAKE_CXX_COMPILER_VERSION}" message (STATUS "Compiler flags: ${CMAKE_CXX_FLAGS}") message (STATUS "System name: ${CMAKE_SYSTEM_NAME}") message (STATUS "System version: ${CMAKE_SYSTEM_VERSION}") + +# generate pkgconfig file. +set(prefix "${CMAKE_INSTALL_PREFIX}") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") +set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +set(VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +configure_file(log4cplus.pc.in ${CMAKE_BINARY_DIR}/lib/pkgconfig/log4cplus.pc @ONLY) + +install(FILES ${CMAKE_BINARY_DIR}/lib/pkgconfig/log4cplus.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/) From 2a8552d2e460795641bb22bac4bb1dd464610e8b Mon Sep 17 00:00:00 2001 From: Tobias Frost Date: Wed, 28 Oct 2020 19:59:10 +0100 Subject: [PATCH 112/353] Fix spelling of 'occurred' --- include/log4cplus/helpers/queue.h | 2 +- src/patternlayout.cxx | 2 +- tests/appender_test/main.cxx | 2 +- tests/configandwatch_test/main.cxx | 2 +- tests/ndc_test/main.cxx | 2 +- tests/patternlayout_test/main.cxx | 2 +- tests/performance_test/main.cxx | 2 +- tests/propertyconfig_test/main.cxx | 2 +- tests/thread_test/main.cxx | 4 ++-- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/log4cplus/helpers/queue.h b/include/log4cplus/helpers/queue.h index 72a0d995f..113d69514 100644 --- a/include/log4cplus/helpers/queue.h +++ b/include/log4cplus/helpers/queue.h @@ -120,7 +120,7 @@ class LOG4CPLUS_EXPORT Queue //! ERROR_BIT signals error. ERROR_BIT = 0x0010, - //! ERROR_AFTER signals error that has occured after queue has + //! ERROR_AFTER signals error that has occurred after queue has //! already been touched. ERROR_AFTER = 0x0020 }; diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 6381411c9..2fbaa0958 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -831,7 +831,7 @@ PatternParser::parse() } else { tostringstream buf; - buf << LOG4CPLUS_TEXT("Error occured in position ") + buf << LOG4CPLUS_TEXT("Error occurred in position ") << pos << LOG4CPLUS_TEXT(".\n Was expecting digit, instead got char \"") << c diff --git a/tests/appender_test/main.cxx b/tests/appender_test/main.cxx index f5b9d36f2..57f795800 100644 --- a/tests/appender_test/main.cxx +++ b/tests/appender_test/main.cxx @@ -183,7 +183,7 @@ main() } } catch(std::exception const & e) { - log4cplus::tcout << "**** Exception occured: " << e.what() + log4cplus::tcout << "**** Exception occurred: " << e.what() << std::endl; } } diff --git a/tests/configandwatch_test/main.cxx b/tests/configandwatch_test/main.cxx index d9c1b60c8..039130f42 100644 --- a/tests/configandwatch_test/main.cxx +++ b/tests/configandwatch_test/main.cxx @@ -72,7 +72,7 @@ main(int argc, char * argv[]) } catch(...) { tcout << LOG4CPLUS_TEXT("Exception...") << endl; - LOG4CPLUS_FATAL(root, "Exception occured..."); + LOG4CPLUS_FATAL(root, "Exception occurred..."); } tcout << LOG4CPLUS_TEXT("Exiting main()...") << endl; diff --git a/tests/ndc_test/main.cxx b/tests/ndc_test/main.cxx index e0b9b6808..21b851614 100644 --- a/tests/ndc_test/main.cxx +++ b/tests/ndc_test/main.cxx @@ -49,7 +49,7 @@ main() } catch(...) { cout << "Exception..." << endl; - Logger::getRoot().log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exception occured...")); + Logger::getRoot().log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exception occurred...")); } cout << "Exiting main()..." << endl; diff --git a/tests/patternlayout_test/main.cxx b/tests/patternlayout_test/main.cxx index 24b078ad4..511342368 100644 --- a/tests/patternlayout_test/main.cxx +++ b/tests/patternlayout_test/main.cxx @@ -51,7 +51,7 @@ main() } catch(...) { cout << "Exception..." << endl; - Logger::getRoot().log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exception occured...")); + Logger::getRoot().log(FATAL_LOG_LEVEL, LOG4CPLUS_TEXT("Exception occurred...")); } cout << "Exiting main()..." << endl; diff --git a/tests/performance_test/main.cxx b/tests/performance_test/main.cxx index c84043d43..f75c925e5 100644 --- a/tests/performance_test/main.cxx +++ b/tests/performance_test/main.cxx @@ -139,7 +139,7 @@ main(int argc, char * argv[]) } catch(...) { tcout << LOG4CPLUS_TEXT("Exception...") << endl; - LOG4CPLUS_FATAL(root, "Exception occured..."); + LOG4CPLUS_FATAL(root, "Exception occurred..."); } tcout << LOG4CPLUS_TEXT("Exiting main()...") << endl; diff --git a/tests/propertyconfig_test/main.cxx b/tests/propertyconfig_test/main.cxx index f1eaa3ff0..2f6e0b96f 100644 --- a/tests/propertyconfig_test/main.cxx +++ b/tests/propertyconfig_test/main.cxx @@ -56,7 +56,7 @@ main(int argc, char * argv[]) } catch(...) { tcout << LOG4CPLUS_TEXT("Exception...") << endl; - LOG4CPLUS_FATAL(root, LOG4CPLUS_TEXT("Exception occured...")); + LOG4CPLUS_FATAL(root, LOG4CPLUS_TEXT("Exception occurred...")); } tcout << LOG4CPLUS_TEXT("Exiting main()...") << endl; diff --git a/tests/thread_test/main.cxx b/tests/thread_test/main.cxx index 23a1f429c..4db9cd4ab 100644 --- a/tests/thread_test/main.cxx +++ b/tests/thread_test/main.cxx @@ -125,10 +125,10 @@ main() LOG4CPLUS_INFO(logger, "Exiting main()..."); } catch(std::exception &e) { - LOG4CPLUS_FATAL(Logger::getRoot(), "main()- Exception occured: " << e.what()); + LOG4CPLUS_FATAL(Logger::getRoot(), "main()- Exception occurred: " << e.what()); } catch(...) { - LOG4CPLUS_FATAL(Logger::getRoot(), "main()- Exception occured"); + LOG4CPLUS_FATAL(Logger::getRoot(), "main()- Exception occurred"); } return 0; From 72ad5cbb959651a3a886f0ee79a1d9c73897adab Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 8 Nov 2020 21:42:42 +0100 Subject: [PATCH 113/353] Wrap pkgconfig generation into a function. This limits variables scope to be just in the function. --- CMakeLists.txt | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc8ac1dee..9d01efb7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,18 +191,23 @@ endif (LOG4CPLUS_QT5) include(Log4CPlusCPack.cmake) +# generate pkgconfig file. +set (log4cplus_pkgconfig "${CMAKE_BINARY_DIR}/lib/pkgconfig/log4cplus.pc") +function(log4cplus_gen_pkgconfig) + message (STATUS "Generating ${log4cplus_pkgconfig}") + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(exec_prefix "\${prefix}") + set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") + set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + set(VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") + configure_file(log4cplus.pc.in "${log4cplus_pkgconfig}" @ONLY) +endfunction(log4cplus_gen_pkgconfig) +log4cplus_gen_pkgconfig () + +install(FILES "${log4cplus_pkgconfig}" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/) + message (STATUS "Compiler: ${CMAKE_CXX_COMPILER}") message (STATUS "${CMAKE_CXX_COMPILER_ID} version ${CMAKE_CXX_COMPILER_VERSION}") message (STATUS "Compiler flags: ${CMAKE_CXX_FLAGS}") message (STATUS "System name: ${CMAKE_SYSTEM_NAME}") message (STATUS "System version: ${CMAKE_SYSTEM_VERSION}") - -# generate pkgconfig file. -set(prefix "${CMAKE_INSTALL_PREFIX}") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") -set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -set(VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") -configure_file(log4cplus.pc.in ${CMAKE_BINARY_DIR}/lib/pkgconfig/log4cplus.pc @ONLY) - -install(FILES ${CMAKE_BINARY_DIR}/lib/pkgconfig/log4cplus.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/) From 5987de50271691b2b43d8cf66c46992a1c7a3086 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 24 Feb 2021 19:39:59 +0100 Subject: [PATCH 114/353] Update ThreadPool implementation. --- threadpool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/threadpool b/threadpool index fc20ceeb9..cb9817581 160000 --- a/threadpool +++ b/threadpool @@ -1 +1 @@ -Subproject commit fc20ceeb92bb564a6d5e86cea35b70040a894c60 +Subproject commit cb9817581c9d51d99bc5f2bc6c3786998e08dba7 From b7c122c0c470ee5f42972454f3b9fddf530e2b77 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 24 Feb 2021 19:42:35 +0100 Subject: [PATCH 115/353] Update Catch testing framework to 2.13.4. --- catch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catch b/catch index 15cf3caac..de6fe184a 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit 15cf3caaceb21172ea42a24e595a2eb58c3ec960 +Subproject commit de6fe184a9ac1a06895cdd1c9b437f0a0bdf14ad From 21f0c7fd8e4874308b3791a75c0f5c5428a2e6d2 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 21 Oct 2020 19:03:03 +0200 Subject: [PATCH 116/353] Update CMake build SO version. Fixes #479. --- scripts/propagate-version.pl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/propagate-version.pl b/scripts/propagate-version.pl index 03676caf0..373055be3 100755 --- a/scripts/propagate-version.pl +++ b/scripts/propagate-version.pl @@ -107,4 +107,11 @@ BEGIN $line =~ s/^(version:\s*)(?:\d+(?:\.\d+(?:\.\d+)?)?)(.*)/$1$version$2/x; print $line; } + + local @ARGV = ("CMakeLists.txt"); + while (my $line = <>) + { + $line =~ s/^(\s* set \s* \( \s* log4cplus_soversion \s*) (\d+)/$1$so_current_adjusted/x; + print $line; + } } From a379db42bc1b4c35e646c1539f61b6236141b18f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 21 Oct 2020 20:04:49 +0200 Subject: [PATCH 117/353] Deal with MacOS X handling of SO versions #479. --- CMakeLists.txt | 4 ++++ qt4debugappender/CMakeLists.txt | 6 ++++++ qt5debugappender/CMakeLists.txt | 6 ++++++ scripts/propagate-version.pl | 4 +++- src/CMakeLists.txt | 6 ++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d01efb7c..43e27adb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,10 @@ log4cplus_get_version ("${PROJECT_SOURCE_DIR}/include" message("-- Generating build for Log4cplus version ${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") set (log4cplus_soversion 0) set (log4cplus_postfix "") +if (APPLE) + set (log4cplus_macho_current_version 7.0.0) + set (log4cplus_macho_compatibility_version 3.0.0) +endif () option(LOG4CPLUS_BUILD_TESTING "Build the test suite." ON) option(LOG4CPLUS_BUILD_LOGGINGSERVER "Build the logging server." ON) diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index 23221614f..b602c03b1 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -24,6 +24,12 @@ set_target_properties (${qt4debugappender} PROPERTIES SOVERSION "${log4cplus_soversion}") target_compile_definitions (${qt4debugappender} PRIVATE INSIDE_LOG4CPLUS_QT4DEBUGAPPENDER) +if (APPLE) + set_target_properties (${log4cplus} PROPERTIES + MACHO_CURRENT_VERSION "${log4cplus_macho_current_version}" + MACHO_COMPATIBILITY_VERSION "${log4cplus_macho_compatibility_version}") +endif () + if (WIN32) set_target_properties (${qt4debugappender} PROPERTIES DEBUG_POSTFIX "D") diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index 1d92984fd..2cbb67457 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -24,6 +24,12 @@ set_target_properties (${qt5debugappender} PROPERTIES SOVERSION "${log4cplus_soversion}") target_compile_definitions (${qt5debugappender} PRIVATE INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER) +if (APPLE) + set_target_properties (${log4cplus} PROPERTIES + MACHO_CURRENT_VERSION "${log4cplus_macho_current_version}" + MACHO_COMPATIBILITY_VERSION "${log4cplus_macho_compatibility_version}") +endif () + qt5_use_modules(${qt5debugappender} Core) if (WIN32) diff --git a/scripts/propagate-version.pl b/scripts/propagate-version.pl index 373055be3..f2e2e7707 100755 --- a/scripts/propagate-version.pl +++ b/scripts/propagate-version.pl @@ -111,7 +111,9 @@ BEGIN local @ARGV = ("CMakeLists.txt"); while (my $line = <>) { - $line =~ s/^(\s* set \s* \( \s* log4cplus_soversion \s*) (\d+)/$1$so_current_adjusted/x; + $line =~ s/^(\s* set \s* \( \s* log4cplus_soversion \s*) (\d+)/$1$so_current_adjusted/x + || $line =~ s/^(\s* set \s* \( \s* log4cplus_macho_current_version \s*) (\d+(?:\.\d+)+)/$1$so_current.0.0/x + || $line =~ s/^(\s* set \s* \( \s* log4cplus_macho_compatibility_version \s*) (\d+(?:\.\d+)+)/$1$so_current_adjusted.0.0/x; print $line; } } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a9f6e950f..7886d190f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -119,6 +119,12 @@ else () target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) endif () +if (APPLE) + set_target_properties (${log4cplus} PROPERTIES + MACHO_CURRENT_VERSION "${log4cplus_macho_current_version}" + MACHO_COMPATIBILITY_VERSION "${log4cplus_macho_compatibility_version}") +endif () + if (MINGW AND LOG4CPLUS_MINGW_STATIC_RUNTIME) # avoid dependency from mingw libstdc++/libgcc in resulting dll set_target_properties (${log4cplus} PROPERTIES From a965039c0ddd7a6e6b6f85ac719cbb8ffd12f259 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 8 Nov 2020 15:46:23 +0100 Subject: [PATCH 118/353] Improve CMake build SONAME and VERSION handling. --- qt4debugappender/CMakeLists.txt | 12 +++++++++--- qt5debugappender/CMakeLists.txt | 12 +++++++++--- src/CMakeLists.txt | 7 ++++--- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index b602c03b1..f57df227f 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -19,9 +19,15 @@ target_link_libraries (${qt4debugappender} ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) -set_target_properties (${qt4debugappender} PROPERTIES - VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" - SOVERSION "${log4cplus_soversion}") +if (ANDROID) + # Android does not seem to have SO version support. +elseif (WIN32) + set_target_properties (${qt4debugappender} PROPERTIES + VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +else () + set_target_properties (${qt4debugappender} PROPERTIES + SOVERSION "${log4cplus_soversion}") +endif () target_compile_definitions (${qt4debugappender} PRIVATE INSIDE_LOG4CPLUS_QT4DEBUGAPPENDER) if (APPLE) diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index 2cbb67457..12b41f8cf 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -19,9 +19,15 @@ target_link_libraries (${qt5debugappender} ${Qt5Widgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) -set_target_properties (${qt5debugappender} PROPERTIES - VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" - SOVERSION "${log4cplus_soversion}") +if (ANDROID) + # Android does not seem to have SO version support. +elseif (WIN32) + set_target_properties (${qt5debugappender} PROPERTIES + VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +else () + set_target_properties (${qt5debugappender} PROPERTIES + SOVERSION "${log4cplus_soversion}") +endif () target_compile_definitions (${qt5debugappender} PRIVATE INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER) if (APPLE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7886d190f..d4d74db15 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -111,13 +111,14 @@ target_link_libraries (${log4cplus} ${log4cplus_LIBS}) if (ANDROID) # Android does not seem to have SO version support. - target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) +elseif (WIN32) + set_target_properties (${log4cplus} PROPERTIES + VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") else () set_target_properties (${log4cplus} PROPERTIES - VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}" SOVERSION "${log4cplus_soversion}") - target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) endif () +target_compile_definitions (${log4cplus} PRIVATE INSIDE_LOG4CPLUS) if (APPLE) set_target_properties (${log4cplus} PROPERTIES From 1c3244cbfd20fbd984f9a3961ef5ee83d2512357 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 1 Dec 2020 18:38:03 +0100 Subject: [PATCH 119/353] Allow disabling internal thread pool. The thread pool stays on by default. It is conditional on LOG4CPLUS_ENABLE_THREAD_POOL. --- CMakeLists.txt | 5 +++++ configure.ac | 8 ++++++++ src/appender.cxx | 11 ++++++++--- src/global-init.cxx | 12 ++++++++++-- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43e27adb8..7a6ee4b9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,11 @@ if (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) add_compile_definitions (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1) endif(LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) +option(LOG4CPLUS_ENABLE_THREAD_POOL "Instantiate internal thread pool for when AsyncAppend=true" ON) +if (LOG4CPLUS_ENABLE_THREAD_POOL) +add_compile_definitions (LOG4CPLUS_ENABLE_THREAD_POOL=1) +endif() + if(NOT LOG4CPLUS_SINGLE_THREADED) find_package (Threads) message (STATUS "Threads: ${CMAKE_THREAD_LIBS_INIT}") diff --git a/configure.ac b/configure.ac index 64eff1936..9ea7f9808 100644 --- a/configure.ac +++ b/configure.ac @@ -109,6 +109,14 @@ AS_IF([test "x$enable_implicit_initialization" = "xyes"], [], [AS_VAR_APPEND([CPPFLAGS], [" -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1"])]) +dnl Enable thread pool + +LOG4CPLUS_ARG_ENABLE([thread-pool], + [Instantiate internal thread pool for when AsyncAppend=true. [default=yes]], + [enable_thread_pool=yes]) +AS_IF([test "x$enable_thread_pool" = "xyes"], + [AS_VAR_APPEND([CPPFLAGS], [" -DLOG4CPLUS_ENABLE_THREAD_POOL=1"])]) + dnl Enable release version. LOG4CPLUS_ARG_ENABLE([release-version], diff --git a/src/appender.cxx b/src/appender.cxx index 1203bf67e..971cc3411 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -230,7 +230,8 @@ Appender::~Appender() void Appender::waitToFinishAsyncLogging() { -#if ! defined (LOG4CPLUS_SINGLE_THREADED) +#if ! defined (LOG4CPLUS_SINGLE_THREADED) \ + && defined (LOG4CPLUS_ENABLE_THREAD_POOL) if (async) { // When async flag is true we might have some logging still in flight @@ -269,6 +270,7 @@ bool Appender::isClosed() const void Appender::subtract_in_flight () { +#if defined (LOG4CPLUS_ENABLE_THREAD_POOL) std::size_t const prev = std::atomic_fetch_sub_explicit (&in_flight, std::size_t (1), std::memory_order_acq_rel); if (prev == 1) @@ -276,6 +278,7 @@ Appender::subtract_in_flight () std::unique_lock lock (in_flight_mutex); in_flight_condition.notify_all (); } +#endif } #endif @@ -289,7 +292,8 @@ void enqueueAsyncDoAppend (SharedAppenderPtr const & appender, void Appender::doAppend(const log4cplus::spi::InternalLoggingEvent& event) { -#if ! defined (LOG4CPLUS_SINGLE_THREADED) +#if ! defined (LOG4CPLUS_SINGLE_THREADED) \ + && defined (LOG4CPLUS_ENABLE_THREAD_POOL) if (async) { event.gatherThreadSpecificData (); @@ -316,7 +320,8 @@ Appender::doAppend(const log4cplus::spi::InternalLoggingEvent& event) void Appender::asyncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) { -#if ! defined (LOG4CPLUS_SINGLE_THREADED) +#if ! defined (LOG4CPLUS_SINGLE_THREADED) \ + && defined (LOG4CPLUS_ENABLE_THREAD_POOL) struct handle_in_flight { Appender * const app; diff --git a/src/global-init.cxx b/src/global-init.cxx index 63b65cbb2..6de177659 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -137,7 +137,11 @@ std::unique_ptr instantiate_thread_pool () { log4cplus::thread::SignalsBlocker sb; +#if defined (LOG4CPLUS_ENABLE_THREAD_POOL) return std::unique_ptr(new progschj::ThreadPool (4)); +#else + return std::unique_ptr(); +#endif } #endif @@ -305,7 +309,8 @@ getMDC () } -#if ! defined (LOG4CPLUS_SINGLE_THREADED) +#if ! defined (LOG4CPLUS_SINGLE_THREADED) \ + && defined (LOG4CPLUS_ENABLE_THREAD_POOL) void enqueueAsyncDoAppend (SharedAppenderPtr const & appender, spi::InternalLoggingEvent const & event) @@ -592,7 +597,10 @@ void setThreadPoolSize (std::size_t LOG4CPLUS_THREADED (pool_size)) { #if ! defined (LOG4CPLUS_SINGLE_THREADED) - get_dc ()->thread_pool->set_pool_size (pool_size); + std::unique_ptr & thread_pool = get_dc ()->thread_pool; + if (thread_pool) + thread_pool->set_pool_size (pool_size); + #endif } From 188056bc07a939cc531561c7641975a49882acc8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 24 Feb 2021 19:52:53 +0100 Subject: [PATCH 120/353] Regenerate files with Automake 1.16.3 and Autoconf 2.71. --- Makefile.in | 14 +- aclocal.m4 | 75 +- ar-lib | 17 +- compile | 6 +- config.guess | 514 +- config.sub | 675 +-- configure | 9808 ++++++++++++++++++++++----------------- configure.ac | 3 +- depcomp | 2 +- include/Makefile.in | 5 +- install-sh | 161 +- missing | 2 +- mkinstalldirs | 22 +- py-compile | 35 +- scripts/doautoreconf.sh | 4 +- tests/testsuite | 1515 +++--- 16 files changed, 7290 insertions(+), 5568 deletions(-) diff --git a/Makefile.in b/Makefile.in index 4b326f266..c4e38d9b5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -995,7 +995,7 @@ am__can_run_installinfo = \ am__pkgpython_PYTHON_DIST = log4cplus.py log4cplusU.py am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) am__pep3147_tweak = \ - sed -e 's|\.py$$||' -e 's|[^/]*$$|&.*.pyc\n&.*.pyo|' + sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.pyc __pycache__/&.*.pyo|' py_compile = $(top_srcdir)/py-compile DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ @@ -1181,6 +1181,7 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -3719,7 +3720,7 @@ uninstall-pkgpythonPYTHON: for files in "$$py_files" "$$pyc_files" "$$pyo_files"; do \ $(am__uninstall_files_from_dir) || st=$$?; \ done; \ - dir='$(DESTDIR)$(pkgpythondir)/__pycache__'; \ + dir='$(DESTDIR)$(pkgpythondir)'; \ echo "$$py_files" | $(am__pep3147_tweak) | $(am__base_list) | \ while read files; do \ $(am__uninstall_files_from_dir) || st=$$?; \ @@ -3865,7 +3866,8 @@ installdirs-am: done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -4320,7 +4322,7 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigDATA \ uninstall-pkgpyexecLTLIBRARIES uninstall-pkgpythonPYTHON .MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip + install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles am--refresh check check-am check-local clean \ diff --git a/aclocal.m4 b/aclocal.m4 index d121488ac..54120652b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,13 +14,13 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, +[m4_warning([this file was generated for autoconf 2.71. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# Copyright (C) 2002-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], +m4_if([$1], [1.16.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl +[AM_AUTOMAKE_VERSION([1.16.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -118,7 +118,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -170,7 +170,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -201,7 +201,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -392,7 +392,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -431,7 +431,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -458,7 +460,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -655,7 +657,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -676,7 +678,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# Copyright (C) 2003-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -698,7 +700,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -733,7 +735,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -776,7 +778,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -797,12 +799,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -815,7 +812,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -844,7 +841,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -891,7 +888,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -974,12 +971,14 @@ AC_DEFUN([AM_PATH_PYTHON], m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else - dnl Query Python for its version number. Getting [:3] seems to be - dnl the best way to do this; it's what "site.py" does in the standard - dnl library. + dnl Query Python for its version number. Although site.py simply uses + dnl sys.version[:3], printing that failed with Python 3.10, since the + dnl trailing zero was eliminated. So now we output just the major + dnl and minor version numbers, as numbers. Apparently the tertiary + dnl version is not of interest. AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], - [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) + [am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[[:2]])"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) dnl Use the values of $prefix and $exec_prefix for the corresponding @@ -1129,7 +1128,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1148,7 +1147,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1229,7 +1228,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# Copyright (C) 2009-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1289,7 +1288,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1317,7 +1316,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1336,7 +1335,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# Copyright (C) 2004-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 0baa4f607..1e9388e2a 100755 --- a/ar-lib +++ b/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2018 Free Software Foundation, Inc. +# Copyright (C) 2010-2020 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ func_file_conv () mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin) + cygwin | msys) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -224,10 +224,11 @@ elif test -n "$extract"; then esac done else - $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ + | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff --git a/compile b/compile index 99e50524b..23fcba011 100755 --- a/compile +++ b/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff --git a/config.guess b/config.guess index b33c9e890..0fc11edb2 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2020 Free Software Foundation, Inc. -timestamp='2018-08-29' +timestamp='2020-11-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ timestamp='2018-08-29' # Please send patches to . -me=`echo "$0" | sed -e 's,.*/,,'` +me=$(echo "$0" | sed -e 's,.*/,,') usage="\ Usage: $0 [OPTION] @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2020 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." @@ -96,13 +96,14 @@ fi tmp= # shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 -trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 : "${TMPDIR=/tmp}" # shellcheck disable=SC2039 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } @@ -130,10 +131,10 @@ if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) @@ -149,17 +150,15 @@ Linux|GNU|GNU/*) #elif defined(__dietlibc__) LIBC=dietlibc #else + #include + #ifdef __DEFINED_va_list + LIBC=musl + #else LIBC=gnu #endif + #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" ;; esac @@ -178,19 +177,20 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ "/sbin/$sysctl" 2>/dev/null || \ "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)` + echo unknown)) case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') machine="${arch}${endian}"-unknown ;; *) machine="$UNAME_MACHINE_ARCH"-unknown ;; @@ -221,7 +221,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") ;; esac # The OS release @@ -234,7 +234,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in release='-gnu' ;; *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: @@ -243,15 +243,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) @@ -263,6 +263,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; @@ -272,26 +275,29 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; @@ -329,7 +335,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -363,7 +369,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then + if test "$( (/bin/universe) 2>/dev/null)" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd @@ -376,54 +382,59 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in + case $(/usr/bin/uname -p) in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - case `isainfo -b` in - 32) - echo i386-pc-solaris2"$UNAME_REL" - ;; - 64) - echo x86_64-pc-solaris2"$UNAME_REL" - ;; - esac + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" exit ;; sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in + case "$(/usr/bin/arch -k)" in Series*|S4*) - UNAME_RELEASE=`uname -v` + UNAME_RELEASE=$(uname -v) ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in + case "$(/bin/arch)" in sun3) echo m68k-sun-sunos"$UNAME_RELEASE" ;; @@ -503,8 +514,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos"$UNAME_RELEASE" exit ;; @@ -531,11 +542,11 @@ EOF exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x then echo m88k-dg-dgux"$UNAME_RELEASE" else @@ -559,17 +570,17 @@ EOF echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi @@ -589,7 +600,7 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") then echo "$SYSTEM_NAME" else @@ -602,15 +613,15 @@ EOF fi exit ;; *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi @@ -638,14 +649,14 @@ EOF echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') case "$UNAME_MACHINE" in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 @@ -657,7 +668,7 @@ EOF esac ;; esac fi - if [ "$HP_ARCH" = "" ]; then + if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -692,11 +703,11 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ "$HP_ARCH" = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then set_cc_for_build @@ -720,7 +731,7 @@ EOF echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) @@ -750,7 +761,7 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; @@ -770,7 +781,7 @@ EOF echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then + if test -x /usr/sbin/sysversion ; then echo "$UNAME_MACHINE"-unknown-osf1mk else echo "$UNAME_MACHINE"-unknown-osf1 @@ -819,14 +830,14 @@ EOF echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -839,25 +850,25 @@ EOF echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` + UNAME_PROCESSOR=$(uname -p) set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf fi exit ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` + UNAME_PROCESSOR=$(/usr/bin/uname -p) case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" exit ;; i*:CYGWIN*:*) echo "$UNAME_MACHINE"-pc-cygwin @@ -890,18 +901,18 @@ EOF echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin + echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" exit ;; *:GNU:*:*) # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" exit ;; *:Minix:*:*) echo "$UNAME_MACHINE"-unknown-minix @@ -914,7 +925,7 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -981,22 +992,50 @@ EOF exit ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -1015,7 +1054,7 @@ EOF exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; *) echo hppa-unknown-linux-"$LIBC" ;; @@ -1055,7 +1094,17 @@ EOF echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -1095,7 +1144,7 @@ EOF echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else @@ -1104,19 +1153,19 @@ EOF exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in + case $(/bin/uname -X | grep "^Machine") in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 @@ -1166,7 +1215,7 @@ EOF 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1177,7 +1226,7 @@ EOF NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1210,7 +1259,7 @@ EOF exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=$( (uname -p) 2>/dev/null) echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv @@ -1244,7 +1293,7 @@ EOF echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then + if test -d /usr/nec; then echo mips-nec-sysv"$UNAME_RELEASE" else echo mips-unknown-sysv"$UNAME_RELEASE" @@ -1292,44 +1341,48 @@ EOF *:Rhapsody:*:*) echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` + UNAME_PROCESSOR=$(uname -p) if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc @@ -1397,10 +1450,10 @@ EOF echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=$( (uname -p) 2>/dev/null) case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1410,7 +1463,7 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" exit ;; i*86:rdos:*:*) echo "$UNAME_MACHINE"-pc-rdos @@ -1424,8 +1477,148 @@ EOF amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; esac +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in @@ -1448,6 +1641,12 @@ copies of config.guess and config.sub with the latest versions from: https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +EOF + +year=$(echo $timestamp | sed 's,-.*,,') +# shellcheck disable=SC2003 +if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then + cat >&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` +uname -m = $( (uname -m) 2>/dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF +fi exit 1 diff --git a/config.sub b/config.sub index f208558ec..c874b7a9d 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2020 Free Software Foundation, Inc. -timestamp='2018-08-29' +timestamp='2020-11-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ timestamp='2018-08-29' # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. -me=`echo "$0" | sed -e 's,.*/,,'` +me=$(echo "$0" | sed -e 's,.*/,,') usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS @@ -67,7 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2020 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." @@ -111,7 +111,8 @@ case $# in esac # Split fields of configuration type -IFS="-" read -r field1 field2 field3 field4 <&2 - exit 1 + # No normalization, but not necessarily accepted, that comes below. ;; esac + else # Here we handle the default operating systems that come with various machines. @@ -1525,6 +1497,7 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. +kernel= case $cpu-$vendor in score-*) os=elf @@ -1536,7 +1509,8 @@ case $cpu-$vendor in os=riscix1.2 ;; arm*-rebel) - os=linux + kernel=linux + os=gnu ;; arm*-semi) os=aout @@ -1702,84 +1676,173 @@ case $cpu-$vendor in os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +case $os in + # Sometimes we do "kernel-abi", so those need to count as OSes. + musl* | newlib* | uclibc*) + ;; + # Likewise for "kernel-libc" + eabi | eabihf | gnueabi | gnueabihf) + ;; + # Now accept the basic system types. + # The portable systems comes first. + # Each alternative MUST end in a * to match a version number. + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ + | hiux* | abug | nacl* | netware* | windows* \ + | os9* | macos* | osx* | ios* \ + | mpw* | magic* | mmixware* | mon960* | lnews* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | mint* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) + ;; + # This one is extra strict with allowed versions + sco3.2v2 | sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + none) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) - case $os in - riscix*) + case $cpu-$os in + *-riscix*) vendor=acorn ;; - sunos*) + *-sunos*) vendor=sun ;; - cnk*|-aix*) + *-cnk* | *-aix*) vendor=ibm ;; - beos*) + *-beos*) vendor=be ;; - hpux*) + *-hpux*) vendor=hp ;; - mpeix*) + *-mpeix*) vendor=hp ;; - hiux*) + *-hiux*) vendor=hitachi ;; - unos*) + *-unos*) vendor=crds ;; - dgux*) + *-dgux*) vendor=dg ;; - luna*) + *-luna*) vendor=omron ;; - genix*) + *-genix*) vendor=ns ;; - clix*) + *-clix*) vendor=intergraph ;; - mvs* | opened*) + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) vendor=ibm ;; - os400*) + s390-* | s390x-*) vendor=ibm ;; - ptx*) + *-ptx*) vendor=sequent ;; - tpf*) + *-tpf*) vendor=ibm ;; - vxsim* | vxworks* | windiss*) + *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; - aux*) + *-aux*) vendor=apple ;; - hms*) + *-hms*) vendor=hitachi ;; - mpw* | macos*) + *-mpw* | *-macos*) vendor=apple ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) vendor=atari ;; - vos*) + *-vos*) vendor=stratus ;; esac ;; esac -echo "$cpu-$vendor-$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: diff --git a/configure b/configure index ca781b122..ef628a91e 100755 --- a/configure +++ b/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for log4cplus 3.0.0. +# Generated by GNU Autoconf 2.71 for log4cplus 3.0.0. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -14,14 +15,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -31,46 +34,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -79,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -94,8 +90,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -107,30 +107,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -152,20 +132,22 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -185,12 +167,15 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO @@ -205,30 +190,38 @@ test \$(( 1 + 1 )) = 2 || exit 1 PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -236,14 +229,21 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -261,18 +261,19 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -299,6 +300,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -316,6 +318,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -330,7 +340,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -339,7 +349,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -378,12 +388,13 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -395,18 +406,27 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -418,9 +438,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -447,7 +467,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -491,7 +511,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -505,6 +525,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -518,6 +542,13 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -595,40 +626,36 @@ PACKAGE_URL='' ac_unique_file="src/logger.cxx" # Factoring default headers for most tests. ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include +#include +#ifdef HAVE_STDIO_H +# include #endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif # include #endif -#ifdef HAVE_STRINGS_H -# include -#endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif #ifdef HAVE_UNISTD_H # include #endif" +ac_header_cxx_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -801,6 +828,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -834,6 +862,7 @@ enable_debugging enable_warnings enable_so_version enable_implicit_initialization +enable_thread_pool enable_release_version enable_symbols_visibility_options with_wchar_t_support @@ -915,6 +944,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -944,8 +974,6 @@ do *) ac_optarg=yes ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -986,9 +1014,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1012,9 +1040,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1167,6 +1195,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1216,9 +1253,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1232,9 +1269,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1278,9 +1315,9 @@ Try \`$0 --help' for more information" *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1296,7 +1333,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1304,7 +1341,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1360,7 +1397,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1457,6 +1494,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1512,6 +1550,8 @@ Optional Features: --enable-so-version Use libtool -version-info option. [default=yes] --enable-implicit-initialization Initialize log4cplus implicitly. [default=yes] + --enable-thread-pool Instantiate internal thread pool for when + AsyncAppend=true. [default=yes] --enable-release-version Use libtool -release option. [default=yes] --enable-symbols-visibility-options @@ -1600,9 +1640,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1630,7 +1670,8 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1638,7 +1679,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1648,9 +1689,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF log4cplus configure 3.0.0 -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1667,14 +1708,14 @@ fi ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1682,14 +1723,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1705,14 +1747,14 @@ fi ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1720,14 +1762,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1749,7 +1792,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1757,14 +1800,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1780,14 +1824,14 @@ fi ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1795,17 +1839,18 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1826,14 +1871,14 @@ fi ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1841,17 +1886,18 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1866,135 +1912,6 @@ fi } # ac_fn_c_try_link -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_run - -# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES -# --------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_cxx_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_cxx_check_header_mongrel - # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -2002,26 +1919,28 @@ fi ac_fn_cxx_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile @@ -2032,11 +1951,12 @@ $as_echo "$ac_res" >&6; } ac_fn_cxx_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. @@ -2044,16 +1964,9 @@ else #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -2071,24 +1984,25 @@ choke me #endif int -main () +main (void) { return $2 (); ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_func @@ -2100,26 +2014,28 @@ $as_echo "$ac_res" >&6; } ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -2130,11 +2046,12 @@ $as_echo "$ac_res" >&6; } ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. @@ -2142,16 +2059,9 @@ else #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -2169,35 +2079,56 @@ choke me #endif int -main () +main (void) { return $2 (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by log4cplus $as_me 3.0.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -2230,8 +2161,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -2266,7 +2201,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -2301,11 +2236,13 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -2316,8 +2253,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2341,7 +2278,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -2349,14 +2286,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -2364,15 +2301,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -2380,8 +2317,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -2395,63 +2332,48 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -2461,136 +2383,743 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +as_fn_append ac_header_cxx_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_cxx_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_cxx_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_cxx_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_cxx_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_cxx_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_cxx_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="ltmain.sh compile ar-lib missing install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -2609,21 +3138,22 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -2642,21 +3172,22 @@ IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; @@ -2685,7 +3216,8 @@ test -n "$target_alias" && am__api_version='1.16' -# Find a good install program. We prefer a C program (faster), + + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -2699,20 +3231,25 @@ am__api_version='1.16' # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; @@ -2722,13 +3259,13 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else @@ -2736,12 +3273,12 @@ case $as_dir/ in #(( echo one > conftest.one echo two > conftest.two mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi @@ -2757,7 +3294,7 @@ IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi - if test "${ac_cv_path_install+set}" = set; then + if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a @@ -2767,8 +3304,8 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2778,8 +3315,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2833,8 +3370,8 @@ else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= @@ -2853,26 +3390,23 @@ test "$program_suffix" != NONE && # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then @@ -2892,11 +3426,12 @@ if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -2904,11 +3439,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2919,11 +3458,11 @@ fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2932,11 +3471,12 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -2944,11 +3484,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2959,11 +3503,11 @@ fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -2971,8 +3515,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 STRIP=$ac_ct_STRIP @@ -2984,25 +3528,31 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done @@ -3013,7 +3563,7 @@ IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then + if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a @@ -3023,18 +3573,19 @@ fi MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else @@ -3042,11 +3593,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3057,24 +3612,25 @@ fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @@ -3090,12 +3646,12 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -3109,7 +3665,8 @@ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : +if test ${enable_silent_rules+y} +then : enableval=$enable_silent_rules; fi @@ -3119,12 +3676,13 @@ case $enable_silent_rules in # ((( *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -3136,8 +3694,8 @@ else am_cv_make_support_nested_variables=no fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' @@ -3256,17 +3814,18 @@ fi ac_config_commands="$ac_config_commands tests/atconfig" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : +if test ${enable_maintainer_mode+y} +then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else +else $as_nop USE_MAINTAINER_MODE=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +printf "%s\n" "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' @@ -3278,12 +3837,21 @@ fi MAINT=$MAINTAINER_MODE_TRUE + + + + + + + + + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out @@ -3319,11 +3887,12 @@ esac fi done rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : +if test ${enable_dependency_tracking+y} +then : enableval=$enable_dependency_tracking; fi @@ -3349,11 +3918,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3361,11 +3931,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3376,11 +3950,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3389,11 +3963,12 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3401,11 +3976,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3416,11 +3995,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -3428,8 +4007,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 CC=$ac_ct_CC @@ -3442,11 +4021,12 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3454,11 +4034,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3469,11 +4053,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3482,11 +4066,12 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3495,15 +4080,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3519,18 +4108,18 @@ if test $ac_prog_rejected = yes; then # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3541,11 +4130,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3553,11 +4143,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3568,11 +4162,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3585,11 +4179,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3597,11 +4192,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3612,11 +4211,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3628,8 +4227,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 CC=$ac_ct_CC @@ -3637,25 +4236,129 @@ esac fi fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_CC="${ac_tool_prefix}clang" + 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 +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; 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_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +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_CC="clang" + 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_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + 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 + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -3665,7 +4368,7 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -3673,7 +4376,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3685,9 +4388,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -3708,11 +4411,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3729,7 +4433,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3745,44 +4449,46 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3796,15 +4502,15 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -3813,7 +4519,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -3825,8 +4531,8 @@ _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -3834,10 +4540,10 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -3845,39 +4551,40 @@ $as_echo "$ac_try_echo"; } >&5 *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3891,11 +4598,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3904,31 +4612,32 @@ $as_echo "$ac_try_echo"; } >&5 break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -3938,29 +4647,33 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no @@ -3969,57 +4682,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else +else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -4034,94 +4750,144 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -4130,21 +4896,23 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -4172,8 +4940,8 @@ _ACEOF rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -4191,11 +4959,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -4302,8 +5071,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -4318,16 +5087,18 @@ fi -if test -n "$ac_tool_prefix"; then + + if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else @@ -4335,11 +5106,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4350,11 +5125,11 @@ fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4367,11 +5142,12 @@ if test -z "$AR"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else @@ -4379,11 +5155,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4394,11 +5174,11 @@ fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4410,8 +5190,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 AR=$ac_ct_AR @@ -4420,11 +5200,12 @@ fi : ${AR=ar} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 +printf %s "checking the archiver ($AR) interface... " >&6; } +if test ${am_cv_ar_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4436,12 +5217,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* end confdefs.h. */ int some_variable = 0; _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=ar @@ -4450,7 +5232,7 @@ if ac_fn_c_try_compile "$LINENO"; then : { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=lib @@ -4461,7 +5243,7 @@ if ac_fn_c_try_compile "$LINENO"; then : rm -f conftest.lib libconftest.a fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4469,8 +5251,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 +printf "%s\n" "$am_cv_ar_interface" >&6; } case $am_cv_ar_interface in ar) @@ -4515,74 +5297,83 @@ esac } # Check whether --with-working-locale was given. -if test "${with_working_locale+set}" = set; then : +if test ${with_working_locale+y} +then : withval=$with_working_locale; log4cplus_check_yesno_func "${withval}" "--with-working-locale" -else +else $as_nop with_working_locale=no fi - if test "x$with_working_locale" = "xyes"; then : - $as_echo "#define LOG4CPLUS_WORKING_LOCALE 1" >>confdefs.h + if test "x$with_working_locale" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_WORKING_LOCALE 1" >>confdefs.h fi # Check whether --with-working-c-locale was given. -if test "${with_working_c_locale+set}" = set; then : +if test ${with_working_c_locale+y} +then : withval=$with_working_c_locale; log4cplus_check_yesno_func "${withval}" "--with-working-c-locale" -else +else $as_nop with_working_c_locale=no fi - if test "x$with_working_c_locale" = "xyes"; then : - $as_echo "#define LOG4CPLUS_WORKING_C_LOCALE 1" >>confdefs.h + if test "x$with_working_c_locale" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_WORKING_C_LOCALE 1" >>confdefs.h fi # Check whether --with-iconv was given. -if test "${with_iconv+set}" = set; then : +if test ${with_iconv+y} +then : withval=$with_iconv; log4cplus_check_yesno_func "${withval}" "--with-iconv" -else +else $as_nop with_iconv=no fi - if test "x$with_iconv" = "xyes"; then : - $as_echo "#define LOG4CPLUS_WITH_ICONV 1" >>confdefs.h + if test "x$with_iconv" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_WITH_ICONV 1" >>confdefs.h fi if test "x$with_working_locale" = "xno" \ -a "x$with_working_c_locale" = "xno" \ - -a "x$with_iconv" = "xno"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Neither C++ locale support nor C locale support \ + -a "x$with_iconv" = "xno" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Neither C++ locale support nor C locale support \ nor iconv() support requested, using poor man's locale conversion." >&5 -$as_echo "$as_me: WARNING: Neither C++ locale support nor C locale support \ +printf "%s\n" "$as_me: WARNING: Neither C++ locale support nor C locale support \ nor iconv() support requested, using poor man's locale conversion." >&2;} fi # Check whether --enable-debugging was given. -if test "${enable_debugging+set}" = set; then : +if test ${enable_debugging+y} +then : enableval=$enable_debugging; log4cplus_check_yesno_func "${enableval}" "--enable-debugging" -else +else $as_nop enable_debugging=no fi -if test "x$enable_debugging" = "xyes"; then : - $as_echo "#define LOG4CPLUS_DEBUGGING 1" >>confdefs.h +if test "x$enable_debugging" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_DEBUGGING 1" >>confdefs.h LOG4CPLUS_NDEBUG=-UNDEBUG case "$target_os" in #( @@ -4592,27 +5383,29 @@ if test "x$enable_debugging" = "xyes"; then : *) : ;; esac -else +else $as_nop LOG4CPLUS_NDEBUG=-DNDEBUG fi # Check whether --enable-warnings was given. -if test "${enable_warnings+set}" = set; then : +if test ${enable_warnings+y} +then : enableval=$enable_warnings; log4cplus_check_yesno_func "${enableval}" "--enable-warnings" -else +else $as_nop enable_warnings=yes fi # Check whether --enable-so-version was given. -if test "${enable_so_version+set}" = set; then : +if test ${enable_so_version+y} +then : enableval=$enable_so_version; log4cplus_check_yesno_func "${enableval}" "--enable-so-version" -else +else $as_nop enable_so_version=yes fi @@ -4627,25 +5420,43 @@ fi # Check whether --enable-implicit-initialization was given. -if test "${enable_implicit_initialization+set}" = set; then : +if test ${enable_implicit_initialization+y} +then : enableval=$enable_implicit_initialization; log4cplus_check_yesno_func "${enableval}" "--enable-implicit-initialization" -else +else $as_nop enable_implicit_initialization=yes fi -if test "x$enable_implicit_initialization" = "xyes"; then : +if test "x$enable_implicit_initialization" = "xyes" +then : -else +else $as_nop as_fn_append CPPFLAGS " -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1" fi +# Check whether --enable-thread-pool was given. +if test ${enable_thread_pool+y} +then : + enableval=$enable_thread_pool; + log4cplus_check_yesno_func "${enableval}" "--enable-thread-pool" +else $as_nop + enable_thread_pool=yes +fi + +if test "x$enable_thread_pool" = "xyes" +then : + as_fn_append CPPFLAGS " -DLOG4CPLUS_ENABLE_THREAD_POOL=1" +fi + + # Check whether --enable-release-version was given. -if test "${enable_release_version+set}" = set; then : +if test ${enable_release_version+y} +then : enableval=$enable_release_version; log4cplus_check_yesno_func "${enableval}" "--enable-release-version" -else +else $as_nop enable_release_version=yes fi @@ -4660,10 +5471,11 @@ fi # Check whether --enable-symbols-visibility-options was given. -if test "${enable_symbols_visibility_options+set}" = set; then : +if test ${enable_symbols_visibility_options+y} +then : enableval=$enable_symbols_visibility_options; log4cplus_check_yesno_func "${enableval}" "--enable-symbols-visibility-options" -else +else $as_nop enable_symbols_visibility_options=yes fi @@ -4671,10 +5483,11 @@ fi # Check whether --with-wchar_t-support was given. -if test "${with_wchar_t_support+set}" = set; then : +if test ${with_wchar_t_support+y} +then : withval=$with_wchar_t_support; log4cplus_check_yesno_func "${withval}" "--with-wchar_t-support" -else +else $as_nop with_wchar_t_support=yes fi @@ -4690,10 +5503,11 @@ BUILD_WITH_WCHAR_T_SUPPORT=$with_wchar_t_support # Check whether --enable-tests was given. -if test "${enable_tests+set}" = set; then : +if test ${enable_tests+y} +then : enableval=$enable_tests; log4cplus_check_yesno_func "${enableval}" "--enable-tests" -else +else $as_nop enable_tests=yes fi @@ -4708,25 +5522,28 @@ fi # Check whether --enable-unit-tests was given. -if test "${enable_unit_tests+set}" = set; then : +if test ${enable_unit_tests+y} +then : enableval=$enable_unit_tests; log4cplus_check_yesno_func "${enableval}" "--enable-unit-tests" -else +else $as_nop enable_unit_tests=no fi - if test "x$enable_unit_tests" = "xyes"; then : - $as_echo "#define LOG4CPLUS_WITH_UNIT_TESTS 1" >>confdefs.h + if test "x$enable_unit_tests" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_WITH_UNIT_TESTS 1" >>confdefs.h fi # Check whether --enable-lto was given. -if test "${enable_lto+set}" = set; then : +if test ${enable_lto+y} +then : enableval=$enable_lto; log4cplus_check_yesno_func "${enableval}" "--enable-lto" -else +else $as_nop enable_lto=no fi @@ -4734,6 +5551,12 @@ LOG4CPLUS_LTO_LDFLAGS= LOG4CPLUS_LTO_CXXFLAGS= + + + + + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4744,15 +5567,16 @@ if test -z "$CXX"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else @@ -4760,11 +5584,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4775,11 +5603,11 @@ fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4788,15 +5616,16 @@ fi fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else @@ -4804,11 +5633,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4819,11 +5652,11 @@ fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4835,8 +5668,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 CXX=$ac_ct_CXX @@ -4846,7 +5679,7 @@ fi fi fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -4856,7 +5689,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -4866,20 +5699,21 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -4889,29 +5723,33 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi -ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no @@ -4920,57 +5758,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes -else +else $as_nop CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -else +else $as_nop ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then @@ -4985,6 +5826,100 @@ else CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4993,11 +5928,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -5104,8 +6040,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if @@ -5124,36 +6060,32 @@ ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -5165,10 +6097,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -5178,7 +6111,8 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi @@ -5190,29 +6124,24 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -5224,10 +6153,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -5237,11 +6167,12 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -5271,12 +6202,13 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do switch="-std=gnu++${alternative}" - cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 -$as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; } -if eval \${$cachevar+:} false; then : - $as_echo_n "(cached) " >&6 -else + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 +printf %s "checking whether $CXX supports C++17 features with $switch... " >&6; } +if eval test \${$cachevar+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_CXX="$CXX" CXX="$CXX $switch" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6066,17 +6998,18 @@ namespace cxx17 _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval $cachevar=yes -else +else $as_nop eval $cachevar=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CXX="$ac_save_CXX" fi eval ac_res=\$$cachevar - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then CXX="$CXX $switch" if test -n "$CXXCPP" ; then @@ -6091,12 +7024,13 @@ $as_echo "$ac_res" >&6; } if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 -$as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; } -if eval \${$cachevar+:} false; then : - $as_echo_n "(cached) " >&6 -else + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 +printf %s "checking whether $CXX supports C++17 features with $switch... " >&6; } +if eval test \${$cachevar+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_CXX="$CXX" CXX="$CXX $switch" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6886,17 +7820,18 @@ namespace cxx17 _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval $cachevar=yes -else +else $as_nop eval $cachevar=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CXX="$ac_save_CXX" fi eval ac_res=\$$cachevar - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then CXX="$CXX $switch" if test -n "$CXXCPP" ; then @@ -6924,12 +7859,12 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi if test x$ac_success = xno; then HAVE_CXX17=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 -$as_echo "$as_me: No compiler with C++17 support was found" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++17 support was found" >&6;} else HAVE_CXX17=1 -$as_echo "#define HAVE_CXX17 1" >>confdefs.h +printf "%s\n" "#define HAVE_CXX17 1" >>confdefs.h fi @@ -6943,24 +7878,28 @@ case "$target_os" in #( as_fn_append CPPFLAGS " -DWIN32" as_fn_append CPPFLAGS " -D_WIN32" as_fn_append CPPFLAGS " -DMINGW_HAS_SECURE_API=1" - if $as_echo_n "$CPPFLAGS" | $GREP -e '_WIN32_WINNT=' >/dev/null; then : + if printf %s "$CPPFLAGS" | $GREP -e '_WIN32_WINNT=' >/dev/null +then : -else +else $as_nop as_fn_append CPPFLAGS " -D_WIN32_WINNT=0x600" fi ;; #( cygwin*) : as_fn_append CPPFLAGS " -U__STRICT_ANSI__" ;; #( hpux*) : - if $as_echo_n "$CPPFLAGS" | $GREP -e '_XOPEN_SOURCE=' >/dev/null; then : + if printf %s "$CPPFLAGS" | $GREP -e '_XOPEN_SOURCE=' >/dev/null +then : -else +else $as_nop as_fn_append CPPFLAGS " -D_XOPEN_SOURCE=600" fi - if test -z "$UNIX_STD"; then : + if test -z "$UNIX_STD" +then : UNIX_STD=2003 fi - if test "$UNIX_STD" -lt 2003; then : + if test "$UNIX_STD" -lt 2003 +then : UNIX_STD=2003 fi export UNIX_STD ;; #( @@ -6969,10 +7908,11 @@ fi esac # Check whether --enable-profiling was given. -if test "${enable_profiling+set}" = set; then : +if test ${enable_profiling+y} +then : enableval=$enable_profiling; log4cplus_check_yesno_func "${enableval}" "--enable-profiling" -else +else $as_nop enable_profiling=no fi @@ -6980,11 +7920,12 @@ LOG4CPLUS_PROFILING_LDFLAGS= LOG4CPLUS_PROFILING_CXXFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" @@ -6998,10 +7939,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED @@ -7010,13 +7956,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -7044,17 +7990,18 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5 -$as_echo_n "checking for C++ compiler vendor... " >&6; } -if ${ax_cv_cxx_compiler_vendor+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5 +printf %s "checking for C++ compiler vendor... " >&6; } +if test ${ax_cv_cxx_compiler_vendor+y} +then : + printf %s "(cached) " >&6 +else $as_nop # note: don't check for gcc first since some other compilers define __GNUC__ vendors="intel: __ICC,__ECC,__INTEL_COMPILER ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__ @@ -7081,13 +8028,13 @@ else vendor=$ventest continue ;; #( *) : - vencpp="defined("`$as_echo $ventest | $SED 's/,/) || defined(/g'`")" ;; + vencpp="defined("`printf "%s\n" $ventest | $SED 's/,/) || defined(/g'`")" ;; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #if !($vencpp) @@ -7098,19 +8045,21 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done - ax_cv_cxx_compiler_vendor="`$as_echo $vendor | cut -d: -f1`" + ax_cv_cxx_compiler_vendor="`printf "%s\n" $vendor | cut -d: -f1`" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5 -$as_echo "$ax_cv_cxx_compiler_vendor" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5 +printf "%s\n" "$ax_cv_cxx_compiler_vendor" >&6; } -if test "x$enable_warnings" = "xyes"; then : +if test "x$enable_warnings" = "xyes" +then : case $ax_cv_cxx_compiler_vendor in #( sun) : ;; #( @@ -7121,61 +8070,64 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for maximum warnings" >&5 -$as_echo_n "checking CXXFLAGS for maximum warnings... " >&6; } -if ${ac_cv_cxxflags_warn_all+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for maximum warnings" >&5 +printf %s "checking CXXFLAGS for maximum warnings... " >&6; } +if test ${ac_cv_cxxflags_warn_all+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_cv_cxxflags_warn_all="no, unknown" ac_save_CXXFLAGS=$CXXFLAGS for ac_arg in "-warn all % -warn all" "-pedantic % -Wall" "-xstrconst % -v" "-std1 % -verbose -w0 -warnprotos" "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" "-ansi -ansiE % -fullwarn" "+ESlit % +w1" "-Xc % -pvctl,fullmsg" "-h conform % -h msglevel 2" # -do CXXFLAGS="$ac_save_CXXFLAGS `$as_echo_n \"$ac_arg\" | $SED -e 's,%%.*,,' -e 's,%,,'`" +do CXXFLAGS="$ac_save_CXXFLAGS `printf %s \"$ac_arg\" | $SED -e 's,%%.*,,' -e 's,%,,'`" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - ac_cv_cxxflags_warn_all="`$as_echo_n \"$ac_arg\" | $SED -e 's,.*% *,,'`" +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_cxxflags_warn_all="`printf %s \"$ac_arg\" | $SED -e 's,.*% *,,'`" break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS=$ac_save_CXXFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxxflags_warn_all" >&5 -$as_echo "$ac_cv_cxxflags_warn_all" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxxflags_warn_all" >&5 +printf "%s\n" "$ac_cv_cxxflags_warn_all" >&6; } case ".$ac_cv_cxxflags_warn_all" in #( .ok|.ok,*) : ;; #( .|.no|.no,*) : ;; #( *) : - if ${CXXFLAGS+:} false; then : + if test ${CXXFLAGS+y} +then : case " $CXXFLAGS " in #( *" $ac_cv_cxxflags_warn_all "*) : - { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$ac_cv_cxxflags_warn_all"; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$ac_cv_cxxflags_warn_all"; } >&5 (: CXXFLAGS already contains $ac_cv_cxxflags_warn_all) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } ;; #( *) : - { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$ac_cv_cxxflags_warn_all\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$ac_cv_cxxflags_warn_all\""; } >&5 (: CXXFLAGS="$CXXFLAGS $ac_cv_cxxflags_warn_all") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } as_fn_append CXXFLAGS " $ac_cv_cxxflags_warn_all" ;; esac -else +else $as_nop CXXFLAGS="$ac_cv_cxxflags_warn_all" fi ;; @@ -7192,11 +8144,12 @@ esac fi LOG4CPLUS_AIX_XLC_LDFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -7204,10 +8157,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP @@ -7216,13 +8174,13 @@ case `"$ac_path_GREP" --version 2>&1` in ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -7250,25 +8208,26 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" log4cplus_grep_cxxflags_for_optimization() { - $as_echo_n "$CXXFLAGS" | $GREP -e '\(^\|[[:space:]]\)-O\([^[:space:]]*\([[:space:]]\|$\)\)' >/dev/null + printf %s "$CXXFLAGS" | $GREP -e '\(^\|[[:space:]]\)-O\([^[:space:]]*\([[:space:]]\|$\)\)' >/dev/null } case $ax_cv_cxx_compiler_vendor in #( ibm) : as_fn_append CXXFLAGS " -qroconst" as_fn_append LOG4CPLUS_AIX_XLC_LDFLAGS " -qmkshrobj=-300" ;; #( gnu|clang) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fdiagnostics-show-caret" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fdiagnostics-show-caret... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fdiagnostics-show-caret" >&5 +printf %s "checking CXXFLAGS for gcc -fdiagnostics-show-caret... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7283,17 +8242,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7305,34 +8265,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&6; } var=$ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -ftrack-macro-expansion" >&5 -$as_echo_n "checking CXXFLAGS for gcc -ftrack-macro-expansion... " >&6; } -if ${ax_cv_cxxflags_gcc_option__ftrack_macro_expansion+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -ftrack-macro-expansion" >&5 +printf %s "checking CXXFLAGS for gcc -ftrack-macro-expansion... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__ftrack_macro_expansion+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__ftrack_macro_expansion="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7347,17 +8308,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__ftrack_macro_expansion=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7369,23 +8331,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&6; } var=$ax_cv_cxxflags_gcc_option__ftrack_macro_expansion case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -7394,11 +8356,12 @@ esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fdiagnostics-color=auto" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fdiagnostics-color=auto... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fdiagnostics-color=auto" >&5 +printf %s "checking CXXFLAGS for gcc -fdiagnostics-color=auto... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7413,17 +8376,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7435,23 +8399,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&6; } var=$ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -7459,12 +8423,14 @@ case ".$var" in esac - if test "x$enable_warnings" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wextra" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wextra... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wextra+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_warnings" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wextra" >&5 +printf %s "checking CXXFLAGS for gcc -Wextra... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wextra+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wextra="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7479,17 +8445,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wextra=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7501,34 +8468,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wextra" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wextra" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wextra" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wextra" >&6; } var=$ax_cv_cxxflags_gcc_option__Wextra case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -pedantic" >&5 -$as_echo_n "checking CXXFLAGS for gcc -pedantic... " >&6; } -if ${ax_cv_cxxflags_gcc_option__pedantic+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -pedantic" >&5 +printf %s "checking CXXFLAGS for gcc -pedantic... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__pedantic+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__pedantic="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7543,17 +8511,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__pedantic=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7565,34 +8534,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pedantic" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__pedantic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pedantic" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__pedantic" >&6; } var=$ax_cv_cxxflags_gcc_option__pedantic case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wstrict-aliasing" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wstrict-aliasing... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wstrict_aliasing+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wstrict-aliasing" >&5 +printf %s "checking CXXFLAGS for gcc -Wstrict-aliasing... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wstrict_aliasing+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wstrict_aliasing="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7607,17 +8577,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wstrict_aliasing=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7629,34 +8600,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&6; } var=$ax_cv_cxxflags_gcc_option__Wstrict_aliasing case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wstrict-overflow" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wstrict-overflow... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wstrict_overflow+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wstrict-overflow" >&5 +printf %s "checking CXXFLAGS for gcc -Wstrict-overflow... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wstrict_overflow+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wstrict_overflow="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7671,17 +8643,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wstrict_overflow=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7693,34 +8666,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&6; } var=$ax_cv_cxxflags_gcc_option__Wstrict_overflow case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Woverloaded-virtual" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Woverloaded-virtual... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Woverloaded_virtual+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Woverloaded-virtual" >&5 +printf %s "checking CXXFLAGS for gcc -Woverloaded-virtual... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Woverloaded_virtual+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Woverloaded_virtual="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7735,17 +8709,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Woverloaded_virtual=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7757,23 +8732,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&6; } var=$ax_cv_cxxflags_gcc_option__Woverloaded_virtual case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -7784,11 +8759,12 @@ esac mingw*) : ;; #( *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wold-style-cast" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wold-style-cast... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wold_style_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wold-style-cast" >&5 +printf %s "checking CXXFLAGS for gcc -Wold-style-cast... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wold_style_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wold_style_cast="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7803,17 +8779,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wold_style_cast=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7825,23 +8802,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wold_style_cast" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wold_style_cast" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wold_style_cast" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wold_style_cast" >&6; } var=$ax_cv_cxxflags_gcc_option__Wold_style_cast case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -7849,11 +8826,12 @@ case ".$var" in esac ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++14-compat" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wc++14-compat... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wcpp14_compat+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++14-compat" >&5 +printf %s "checking CXXFLAGS for gcc -Wc++14-compat... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wcpp14_compat+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wcpp14_compat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7868,17 +8846,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wcpp14_compat=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7890,34 +8869,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&6; } var=$ax_cv_cxxflags_gcc_option__Wcpp14_compat case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wundef" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wundef... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wundef+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wundef" >&5 +printf %s "checking CXXFLAGS for gcc -Wundef... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wundef+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wundef="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7932,17 +8912,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wundef=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -7954,34 +8935,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wundef" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wundef" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wundef" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wundef" >&6; } var=$ax_cv_cxxflags_gcc_option__Wundef case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wshadow" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wshadow... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wshadow+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wshadow" >&5 +printf %s "checking CXXFLAGS for gcc -Wshadow... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wshadow+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wshadow="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -7996,17 +8978,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wshadow=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8018,34 +9001,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wshadow" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wshadow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wshadow" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wshadow" >&6; } var=$ax_cv_cxxflags_gcc_option__Wshadow case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wformat" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wformat... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wformat+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wformat" >&5 +printf %s "checking CXXFLAGS for gcc -Wformat... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wformat+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wformat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8060,17 +9044,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wformat=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8082,34 +9067,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wformat" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wformat" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wformat" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wformat" >&6; } var=$ax_cv_cxxflags_gcc_option__Wformat case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wnoexcept" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wnoexcept... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wnoexcept+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wnoexcept" >&5 +printf %s "checking CXXFLAGS for gcc -Wnoexcept... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wnoexcept+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wnoexcept="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8124,17 +9110,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wnoexcept=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8146,34 +9133,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wnoexcept" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wnoexcept" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wnoexcept" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wnoexcept" >&6; } var=$ax_cv_cxxflags_gcc_option__Wnoexcept case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wsuggest-attribute=format" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wsuggest-attribute=format... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wsuggest-attribute=format" >&5 +printf %s "checking CXXFLAGS for gcc -Wsuggest-attribute=format... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8188,17 +9176,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8210,34 +9199,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&6; } var=$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wsuggest-attribute=noreturn" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wsuggest-attribute=noreturn... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wsuggest-attribute=noreturn" >&5 +printf %s "checking CXXFLAGS for gcc -Wsuggest-attribute=noreturn... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8252,17 +9242,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8274,34 +9265,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&6; } var=$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wno-variadic-macros" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wno-variadic-macros... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wno_variadic_macros+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wno-variadic-macros" >&5 +printf %s "checking CXXFLAGS for gcc -Wno-variadic-macros... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wno_variadic_macros+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wno_variadic_macros="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8316,17 +9308,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wno_variadic_macros=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8338,34 +9331,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&6; } var=$ax_cv_cxxflags_gcc_option__Wno_variadic_macros case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wduplicated-branches" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wduplicated-branches... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wduplicated_branches+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wduplicated-branches" >&5 +printf %s "checking CXXFLAGS for gcc -Wduplicated-branches... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wduplicated_branches+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wduplicated_branches="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8380,17 +9374,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wduplicated_branches=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8402,34 +9397,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&6; } var=$ax_cv_cxxflags_gcc_option__Wduplicated_branches case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wdangling-else" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wdangling-else... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wdangling_else+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wdangling-else" >&5 +printf %s "checking CXXFLAGS for gcc -Wdangling-else... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wdangling_else+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wdangling_else="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8444,17 +9440,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wdangling_else=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8466,34 +9463,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wdangling_else" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wdangling_else" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wdangling_else" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wdangling_else" >&6; } var=$ax_cv_cxxflags_gcc_option__Wdangling_else case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wmultistatement-macros" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Wmultistatement-macros... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Wmultistatement_macros+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wmultistatement-macros" >&5 +printf %s "checking CXXFLAGS for gcc -Wmultistatement-macros... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wmultistatement_macros+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Wmultistatement_macros="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8508,17 +9506,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Wmultistatement_macros=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8530,23 +9529,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&6; } var=$ax_cv_cxxflags_gcc_option__Wmultistatement_macros case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -8555,12 +9554,14 @@ esac fi - if test "x$enable_debugging" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -g3" >&5 -$as_echo_n "checking CXXFLAGS for gcc -g3... " >&6; } -if ${ax_cv_cxxflags_gcc_option__g3+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_debugging" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -g3" >&5 +printf %s "checking CXXFLAGS for gcc -g3... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__g3+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__g3="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8575,17 +9576,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__g3=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8597,23 +9599,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__g3" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__g3" >&6; } var=$ax_cv_cxxflags_gcc_option__g3 case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -8624,11 +9626,12 @@ esac mingw32) : ;; #( *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fstack-check" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fstack-check... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fstack_check+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fstack-check" >&5 +printf %s "checking CXXFLAGS for gcc -fstack-check... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fstack_check+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fstack_check="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8643,17 +9646,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fstack_check=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8665,34 +9669,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_check" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fstack_check" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_check" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fstack_check" >&6; } var=$ax_cv_cxxflags_gcc_option__fstack_check case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fstack-protector" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fstack-protector... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fstack_protector+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fstack-protector" >&5 +printf %s "checking CXXFLAGS for gcc -fstack-protector... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fstack_protector+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fstack_protector="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8707,17 +9712,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fstack_protector=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8729,23 +9735,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_protector" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fstack_protector" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_protector" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fstack_protector" >&6; } var=$ax_cv_cxxflags_gcc_option__fstack_protector case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -8753,11 +9759,12 @@ case ".$var" in esac ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fsanitize=address" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fsanitize=address... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fsanitize_address+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fsanitize=address" >&5 +printf %s "checking CXXFLAGS for gcc -fsanitize=address... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fsanitize_address+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fsanitize_address="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8772,17 +9779,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fsanitize_address=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8794,34 +9802,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_address" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fsanitize_address" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_address" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fsanitize_address" >&6; } var=$ax_cv_cxxflags_gcc_option__fsanitize_address case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fsanitize=undefined" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fsanitize=undefined... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fsanitize_undefined+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fsanitize=undefined" >&5 +printf %s "checking CXXFLAGS for gcc -fsanitize=undefined... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fsanitize_undefined+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fsanitize_undefined="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8836,17 +9845,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fsanitize_undefined=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8858,34 +9868,35 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&6; } var=$ax_cv_cxxflags_gcc_option__fsanitize_undefined case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -ftrapv" >&5 -$as_echo_n "checking CXXFLAGS for gcc -ftrapv... " >&6; } -if ${ax_cv_cxxflags_gcc_option__ftrapv+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -ftrapv" >&5 +printf %s "checking CXXFLAGS for gcc -ftrapv... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__ftrapv+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__ftrapv="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8900,17 +9911,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__ftrapv=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8922,23 +9934,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrapv" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__ftrapv" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrapv" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__ftrapv" >&6; } var=$ax_cv_cxxflags_gcc_option__ftrapv case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -8946,14 +9958,16 @@ case ".$var" in esac - if log4cplus_grep_cxxflags_for_optimization; then : + if log4cplus_grep_cxxflags_for_optimization +then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Og" >&5 -$as_echo_n "checking CXXFLAGS for gcc -Og... " >&6; } -if ${ax_cv_cxxflags_gcc_option__Og+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Og" >&5 +printf %s "checking CXXFLAGS for gcc -Og... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Og+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__Og="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -8968,17 +9982,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__Og=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -8990,23 +10005,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Og" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__Og" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Og" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Og" >&6; } var=$ax_cv_cxxflags_gcc_option__Og case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9015,14 +10030,16 @@ esac fi - if log4cplus_grep_cxxflags_for_optimization; then : + if log4cplus_grep_cxxflags_for_optimization +then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O1" >&5 -$as_echo_n "checking CXXFLAGS for gcc -O1... " >&6; } -if ${ax_cv_cxxflags_gcc_option__O1+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O1" >&5 +printf %s "checking CXXFLAGS for gcc -O1... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__O1+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__O1="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9037,17 +10054,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__O1=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9059,23 +10077,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O1" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__O1" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O1" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__O1" >&6; } var=$ax_cv_cxxflags_gcc_option__O1 case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9083,16 +10101,18 @@ case ".$var" in esac fi -else +else $as_nop - if log4cplus_grep_cxxflags_for_optimization; then : + if log4cplus_grep_cxxflags_for_optimization +then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O2" >&5 -$as_echo_n "checking CXXFLAGS for gcc -O2... " >&6; } -if ${ax_cv_cxxflags_gcc_option__O2+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O2" >&5 +printf %s "checking CXXFLAGS for gcc -O2... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__O2+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__O2="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9107,17 +10127,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__O2=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9129,23 +10150,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O2" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__O2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O2" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__O2" >&6; } var=$ax_cv_cxxflags_gcc_option__O2 case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9155,12 +10176,14 @@ esac fi fi - if test "x$enable_profiling" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -pg" >&5 -$as_echo_n "checking CXXFLAGS for gcc -pg... " >&6; } -if ${ax_cv_cxxflags_gcc_option__pg+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_profiling" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -pg" >&5 +printf %s "checking CXXFLAGS for gcc -pg... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__pg+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__pg="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9175,17 +10198,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__pg=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9197,8 +10221,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pg" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__pg" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pg" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__pg" >&6; } var=$ax_cv_cxxflags_gcc_option__pg case ".$var" in .ok|.ok,*) LOG4CPLUS_PROFILING_LDFLAGS="-pg" @@ -9210,11 +10234,12 @@ case ".$var" in ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -g3" >&5 -$as_echo_n "checking CXXFLAGS for gcc -g3... " >&6; } -if ${ax_cv_cxxflags_gcc_option__g3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -g3" >&5 +printf %s "checking CXXFLAGS for gcc -g3... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__g3+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__g3="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9229,17 +10254,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__g3=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9251,23 +10277,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__g3" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__g3" >&6; } var=$ax_cv_cxxflags_gcc_option__g3 case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9277,12 +10303,14 @@ esac fi - if test "x$enable_lto" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -flto" >&5 -$as_echo_n "checking CXXFLAGS for gcc -flto... " >&6; } -if ${ax_cv_cxxflags_gcc_option__flto+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_lto" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -flto" >&5 +printf %s "checking CXXFLAGS for gcc -flto... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__flto+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__flto="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9297,17 +10325,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__flto=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9319,8 +10348,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__flto" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__flto" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__flto" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__flto" >&6; } var=$ax_cv_cxxflags_gcc_option__flto case ".$var" in .ok|.ok,*) LOG4CPLUS_LTO_LDFLAGS="-flto" @@ -9342,12 +10371,14 @@ fi ;; esac ;; #( sun) : - if test "x$enable_warnings" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc +w" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc +w... " >&6; } -if ${ax_cv_cxxflags_sun_option_pw+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_warnings" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc +w" >&5 +printf %s "checking CXXFLAGS for sun/cc +w... " >&6; } +if test ${ax_cv_cxxflags_sun_option_pw+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option_pw="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9362,17 +10393,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option_pw=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9384,23 +10416,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option_pw" >&5 -$as_echo "$ax_cv_cxxflags_sun_option_pw" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option_pw" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option_pw" >&6; } var=$ax_cv_cxxflags_sun_option_pw case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9409,12 +10441,14 @@ esac fi - if test "x$enable_debugging" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -g" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -g... " >&6; } -if ${ax_cv_cxxflags_sun_option__g+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_debugging" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -g" >&5 +printf %s "checking CXXFLAGS for sun/cc -g... " >&6; } +if test ${ax_cv_cxxflags_sun_option__g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__g="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9429,17 +10463,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__g=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9451,23 +10486,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__g" >&6; } var=$ax_cv_cxxflags_sun_option__g case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9476,12 +10511,14 @@ esac fi - if test "x$enable_profiling" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -pg" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -pg... " >&6; } -if ${ax_cv_cxxflags_sun_option__pg+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test "x$enable_profiling" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -pg" >&5 +printf %s "checking CXXFLAGS for sun/cc -pg... " >&6; } +if test ${ax_cv_cxxflags_sun_option__pg+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__pg="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9496,17 +10533,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__pg=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9518,8 +10556,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__pg" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__pg" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__pg" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__pg" >&6; } var=$ax_cv_cxxflags_sun_option__pg case ".$var" in .ok|.ok,*) LOG4CPLUS_PROFILING_LDFLAGS="-pg" @@ -9531,11 +10569,12 @@ case ".$var" in ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -g" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -g... " >&6; } -if ${ax_cv_cxxflags_sun_option__g+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -g" >&5 +printf %s "checking CXXFLAGS for sun/cc -g... " >&6; } +if test ${ax_cv_cxxflags_sun_option__g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__g="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9550,17 +10589,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__g=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9572,23 +10612,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__g" >&6; } var=$ax_cv_cxxflags_sun_option__g case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9597,11 +10637,12 @@ esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -features=zla" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -features=zla... " >&6; } -if ${ax_cv_cxxflags_sun_option__features_zla+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -features=zla" >&5 +printf %s "checking CXXFLAGS for sun/cc -features=zla... " >&6; } +if test ${ax_cv_cxxflags_sun_option__features_zla+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__features_zla="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9616,17 +10657,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__features_zla=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9638,23 +10680,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__features_zla" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__features_zla" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__features_zla" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__features_zla" >&6; } var=$ax_cv_cxxflags_sun_option__features_zla case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9665,14 +10707,16 @@ esac - if $as_echo_n "$CXXFLAGS" | $GREP -e '-library=\(stlport4\|stdcxx4\|Cstd\)' >/dev/null; then : + if printf %s "$CXXFLAGS" | $GREP -e '-library=\(stlport4\|stdcxx4\|Cstd\)' >/dev/null +then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=stlport4" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -library=stlport4... " >&6; } -if ${ax_cv_cxxflags_sun_option__library_stlport4+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=stlport4" >&5 +printf %s "checking CXXFLAGS for sun/cc -library=stlport4... " >&6; } +if test ${ax_cv_cxxflags_sun_option__library_stlport4+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__library_stlport4="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9687,17 +10731,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__library_stlport4=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9709,23 +10754,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_stlport4" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__library_stlport4" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_stlport4" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__library_stlport4" >&6; } var=$ax_cv_cxxflags_sun_option__library_stlport4 case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9734,11 +10779,12 @@ esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=Crun" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -library=Crun... " >&6; } -if ${ax_cv_cxxflags_sun_option__library_Crun+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=Crun" >&5 +printf %s "checking CXXFLAGS for sun/cc -library=Crun... " >&6; } +if test ${ax_cv_cxxflags_sun_option__library_Crun+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__library_Crun="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -9753,17 +10799,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__library_Crun=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -9775,23 +10822,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_Crun" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__library_Crun" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_Crun" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__library_Crun" >&6; } var=$ax_cv_cxxflags_sun_option__library_Crun case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -9804,7 +10851,8 @@ esac use_export_symbols_regex=no -if test "x$enable_symbols_visibility_options" = "xyes"; then : +if test "x$enable_symbols_visibility_options" = "xyes" +then : @@ -9813,11 +10861,12 @@ if test "x$enable_symbols_visibility_options" = "xyes"; then : continue_checks=1 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __global and __hidden" >&5 -$as_echo_n "checking for __global and __hidden... " >&6; } -if ${ac_cv__global+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __global and __hidden" >&5 +printf %s "checking for __global and __hidden... " >&6; } +if test ${ac_cv__global+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9830,42 +10879,46 @@ else class __global Class { public: Class () { } }; int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv__global=yes -else +else $as_nop ac_cv__global=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv__global" >&5 -$as_echo "$ac_cv__global" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__global" >&5 +printf "%s\n" "$ac_cv__global" >&6; } -if test "x$ac_cv__global" = "xyes"; then : - $as_echo "#define LOG4CPLUS_DECLSPEC_IMPORT __global" >>confdefs.h +if test "x$ac_cv__global" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_IMPORT __global" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_EXPORT __global" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_EXPORT __global" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_PRIVATE __hidden" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_PRIVATE __hidden" >>confdefs.h { continue_checks=; unset continue_checks;} fi -if ${continue_checks+:} false; then : +if test ${continue_checks+y} +then : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __declspec(dllexport) and __declspec(dllimport)" >&5 -$as_echo_n "checking for __declspec(dllexport) and __declspec(dllimport)... " >&6; } -if ${ac_cv_declspec+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __declspec(dllexport) and __declspec(dllimport)" >&5 +printf %s "checking for __declspec(dllexport) and __declspec(dllimport)... " >&6; } +if test ${ac_cv_declspec+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9885,30 +10938,32 @@ And extra please fail. #endif int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_declspec=yes -else +else $as_nop ac_cv_declspec=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec" >&5 -$as_echo "$ac_cv_declspec" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec" >&5 +printf "%s\n" "$ac_cv_declspec" >&6; } -if test "x$ac_cv_declspec" = "xyes"; then : - $as_echo "#define LOG4CPLUS_DECLSPEC_IMPORT __declspec(dllimport)" >>confdefs.h +if test "x$ac_cv_declspec" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_IMPORT __declspec(dllimport)" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_EXPORT __declspec(dllexport)" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_EXPORT __declspec(dllexport)" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_PRIVATE /* empty */" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_PRIVATE /* empty */" >>confdefs.h { continue_checks=; unset continue_checks;} fi @@ -9916,13 +10971,15 @@ fi fi -if ${continue_checks+:} false; then : +if test ${continue_checks+y} +then : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"default\"))) and __attribute__((visibility(\"hidden\")))" >&5 -$as_echo_n "checking for __attribute__((visibility(\"default\"))) and __attribute__((visibility(\"hidden\")))... " >&6; } -if ${ac_cv__attribute__visibility+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"default\"))) and __attribute__((visibility(\"hidden\")))" >&5 +printf %s "checking for __attribute__((visibility(\"default\"))) and __attribute__((visibility(\"hidden\")))... " >&6; } +if test ${ac_cv__attribute__visibility+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9940,30 +10997,32 @@ And extra please fail. #endif int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv__attribute__visibility=yes -else +else $as_nop ac_cv__attribute__visibility=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv__attribute__visibility" >&5 -$as_echo "$ac_cv__attribute__visibility" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__attribute__visibility" >&5 +printf "%s\n" "$ac_cv__attribute__visibility" >&6; } -if test "x$ac_cv__attribute__visibility" = "xyes"; then : - $as_echo "#define LOG4CPLUS_DECLSPEC_IMPORT __attribute__ ((visibility(\"default\")))" >>confdefs.h +if test "x$ac_cv__attribute__visibility" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_IMPORT __attribute__ ((visibility(\"default\")))" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_EXPORT __attribute__ ((visibility(\"default\")))" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_EXPORT __attribute__ ((visibility(\"default\")))" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_PRIVATE __attribute__ ((visibility(\"hidden\")))" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_PRIVATE __attribute__ ((visibility(\"hidden\")))" >>confdefs.h { continue_checks=; unset continue_checks;} fi @@ -9971,26 +11030,29 @@ fi fi -if test "x$ac_cv__attribute__visibility" = "xno" && test "x$ac_cv_declspec" = "xno" && test "x$ax_cv__global" = "xno"; then : - $as_echo "#define LOG4CPLUS_DECLSPEC_IMPORT /* empty */" >>confdefs.h +if test "x$ac_cv__attribute__visibility" = "xno" && test "x$ac_cv_declspec" = "xno" && test "x$ax_cv__global" = "xno" +then : + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_IMPORT /* empty */" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_EXPORT /* empty */" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_EXPORT /* empty */" >>confdefs.h - $as_echo "#define LOG4CPLUS_DECLSPEC_PRIVATE /* empty */" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_DECLSPEC_PRIVATE /* empty */" >>confdefs.h fi { continue_checks=; unset continue_checks;} - if test "x$ac_cv_declspec" = "xyes" || test "x$ac_cv__attribute__visibility" = "xyes" || test "x$ac_cv__global" = "xyes"; then : + if test "x$ac_cv_declspec" = "xyes" || test "x$ac_cv__attribute__visibility" = "xyes" || test "x$ac_cv__global" = "xyes" +then : case $ax_cv_cxx_compiler_vendor in #( gnu|clang) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fvisibility=hidden" >&5 -$as_echo_n "checking CXXFLAGS for gcc -fvisibility=hidden... " >&6; } -if ${ax_cv_cxxflags_gcc_option__fvisibility_hidden+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -fvisibility=hidden" >&5 +printf %s "checking CXXFLAGS for gcc -fvisibility=hidden... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__fvisibility_hidden+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_gcc_option__fvisibility_hidden="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -10005,17 +11067,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_gcc_option__fvisibility_hidden=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -10027,23 +11090,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&5 -$as_echo "$ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&6; } var=$ax_cv_cxxflags_gcc_option__fvisibility_hidden case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -10052,11 +11115,12 @@ esac ;; #( sun) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -xldscope=hidden" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -xldscope=hidden... " >&6; } -if ${ax_cv_cxxflags_sun_option__xldscope_hidden+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -xldscope=hidden" >&5 +printf %s "checking CXXFLAGS for sun/cc -xldscope=hidden... " >&6; } +if test ${ax_cv_cxxflags_sun_option__xldscope_hidden+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__xldscope_hidden="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -10071,17 +11135,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__xldscope_hidden=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -10093,23 +11158,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xldscope_hidden" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__xldscope_hidden" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xldscope_hidden" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__xldscope_hidden" >&6; } var=$ax_cv_cxxflags_sun_option__xldscope_hidden case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -10119,7 +11184,7 @@ esac *) : use_export_symbols_regex=yes ;; esac -else +else $as_nop use_export_symbols_regex=yes fi fi @@ -10135,17 +11200,18 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__ macro" >&5 -$as_echo_n "checking for __FUNCTION__ macro... " >&6; } -if ${ac_cv_have___function___macro+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__ macro" >&5 +printf %s "checking for __FUNCTION__ macro... " >&6; } +if test ${ac_cv_have___function___macro+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { char const * func = __FUNCTION__; @@ -10155,36 +11221,39 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_have___function___macro=yes -else +else $as_nop ac_cv_have___function___macro=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___function___macro" >&5 -$as_echo "$ac_cv_have___function___macro" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___function___macro" >&5 +printf "%s\n" "$ac_cv_have___function___macro" >&6; } - if test "x$ac_cv_have___function___macro" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_FUNCTION_MACRO 1" >>confdefs.h + if test "x$ac_cv_have___function___macro" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_FUNCTION_MACRO 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __PRETTY_FUNCTION__ macro" >&5 -$as_echo_n "checking for __PRETTY_FUNCTION__ macro... " >&6; } -if ${ac_cv_have___pretty_function___macro+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __PRETTY_FUNCTION__ macro" >&5 +printf %s "checking for __PRETTY_FUNCTION__ macro... " >&6; } +if test ${ac_cv_have___pretty_function___macro+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { char const * func = __PRETTY_FUNCTION__; @@ -10194,36 +11263,39 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_have___pretty_function___macro=yes -else +else $as_nop ac_cv_have___pretty_function___macro=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___pretty_function___macro" >&5 -$as_echo "$ac_cv_have___pretty_function___macro" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___pretty_function___macro" >&5 +printf "%s\n" "$ac_cv_have___pretty_function___macro" >&6; } - if test "x$ac_cv_have___pretty_function___macro" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_PRETTY_FUNCTION_MACRO 1" >>confdefs.h + if test "x$ac_cv_have___pretty_function___macro" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_PRETTY_FUNCTION_MACRO 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __func__ symbol" >&5 -$as_echo_n "checking for __func__ symbol... " >&6; } -if ${ac_cv_have___func___symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __func__ symbol" >&5 +printf %s "checking for __func__ symbol... " >&6; } +if test ${ac_cv_have___func___symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { char const * func = __func__; @@ -10233,31 +11305,34 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ac_cv_have___func___symbol=yes -else +else $as_nop ac_cv_have___func___symbol=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___func___symbol" >&5 -$as_echo "$ac_cv_have___func___symbol" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___func___symbol" >&5 +printf "%s\n" "$ac_cv_have___func___symbol" >&6; } - if test "x$ac_cv_have___func___symbol" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_FUNC_SYMBOL 1" >>confdefs.h + if test "x$ac_cv_have___func___symbol" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_FUNC_SYMBOL 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((constructor_priority))" >&5 -$as_echo_n "checking for __attribute__((constructor_priority))... " >&6; } -if ${ax_cv_have_func_attribute_constructor_priority+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((constructor_priority))" >&5 +printf %s "checking for __attribute__((constructor_priority))... " >&6; } +if test ${ax_cv_have_func_attribute_constructor_priority+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10266,7 +11341,7 @@ else int foo( void ) __attribute__((__constructor__(65535/2))); int -main () +main (void) { ; @@ -10274,45 +11349,48 @@ main () } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if test -s conftest.err; then : +if ac_fn_cxx_try_link "$LINENO" +then : + if test -s conftest.err +then : ax_cv_have_func_attribute_constructor_priority=no -else +else $as_nop ax_cv_have_func_attribute_constructor_priority=yes fi -else +else $as_nop ax_cv_have_func_attribute_constructor_priority=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor_priority" >&5 -$as_echo "$ax_cv_have_func_attribute_constructor_priority" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor_priority" >&5 +printf "%s\n" "$ax_cv_have_func_attribute_constructor_priority" >&6; } - if test yes = $ax_cv_have_func_attribute_constructor_priority; then : + if test yes = $ax_cv_have_func_attribute_constructor_priority +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1 -_ACEOF +printf "%s\n" "#define HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1" >>confdefs.h fi - if test "x$ax_cv_have_func_attribute_constructor_priority" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1" >>confdefs.h + if test "x$ax_cv_have_func_attribute_constructor_priority" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((constructor))" >&5 -$as_echo_n "checking for __attribute__((constructor))... " >&6; } -if ${ax_cv_have_func_attribute_constructor+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((constructor))" >&5 +printf %s "checking for __attribute__((constructor))... " >&6; } +if test ${ax_cv_have_func_attribute_constructor+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10321,7 +11399,7 @@ else int foo( void ) __attribute__((constructor)); int -main () +main (void) { ; @@ -10329,45 +11407,48 @@ main () } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if test -s conftest.err; then : +if ac_fn_cxx_try_link "$LINENO" +then : + if test -s conftest.err +then : ax_cv_have_func_attribute_constructor=no -else +else $as_nop ax_cv_have_func_attribute_constructor=yes fi -else +else $as_nop ax_cv_have_func_attribute_constructor=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor" >&5 -$as_echo "$ax_cv_have_func_attribute_constructor" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor" >&5 +printf "%s\n" "$ax_cv_have_func_attribute_constructor" >&6; } - if test yes = $ax_cv_have_func_attribute_constructor; then : + if test yes = $ax_cv_have_func_attribute_constructor +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR 1 -_ACEOF +printf "%s\n" "#define HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h fi - if test "x$ax_cv_have_func_attribute_constructor" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h + if test "x$ax_cv_have_func_attribute_constructor" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((init_priority))" >&5 -$as_echo_n "checking for __attribute__((init_priority))... " >&6; } -if ${ax_cv_have_var_attribute_init_priority+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((init_priority))" >&5 +printf %s "checking for __attribute__((init_priority))... " >&6; } +if test ${ax_cv_have_var_attribute_init_priority+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10379,7 +11460,7 @@ else static std::string name __attribute__((init_priority(65535/2))) ("test"); int -main () +main (void) { @@ -10389,34 +11470,36 @@ main () } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if test -s conftest.err; then : +if ac_fn_cxx_try_link "$LINENO" +then : + if test -s conftest.err +then : ax_cv_have_var_attribute_init_priority=no -else +else $as_nop ax_cv_have_var_attribute_init_priority=yes fi -else +else $as_nop ax_cv_have_var_attribute_init_priority=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_var_attribute_init_priority" >&5 -$as_echo "$ax_cv_have_var_attribute_init_priority" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_var_attribute_init_priority" >&5 +printf "%s\n" "$ax_cv_have_var_attribute_init_priority" >&6; } - if test yes = $ax_cv_have_var_attribute_init_priority; then : + if test yes = $ax_cv_have_var_attribute_init_priority +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_VAR_ATTRIBUTE_INIT_PRIORITY 1 -_ACEOF +printf "%s\n" "#define HAVE_VAR_ATTRIBUTE_INIT_PRIORITY 1" >>confdefs.h fi - if test "x$ax_cv_have_var_attribute_init_priority" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY 1" >>confdefs.h + if test "x$ax_cv_have_var_attribute_init_priority" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY 1" >>confdefs.h fi @@ -10427,11 +11510,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing __atomic_fetch_and_4" >&5 -$as_echo_n "checking for library containing __atomic_fetch_and_4... " >&6; } -if ${ac_cv_search___atomic_fetch_and_4+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing __atomic_fetch_and_4" >&5 +printf %s "checking for library containing __atomic_fetch_and_4... " >&6; } +if test ${ac_cv_search___atomic_fetch_and_4+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10439,55 +11523,58 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char __atomic_fetch_and_4 (); int -main () +main (void) { return __atomic_fetch_and_4 (); ; return 0; } _ACEOF -for ac_lib in '' atomic; do +for ac_lib in '' atomic +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search___atomic_fetch_and_4=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search___atomic_fetch_and_4+:} false; then : + if test ${ac_cv_search___atomic_fetch_and_4+y} +then : break fi done -if ${ac_cv_search___atomic_fetch_and_4+:} false; then : +if test ${ac_cv_search___atomic_fetch_and_4+y} +then : -else +else $as_nop ac_cv_search___atomic_fetch_and_4=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___atomic_fetch_and_4" >&5 -$as_echo "$ac_cv_search___atomic_fetch_and_4" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___atomic_fetch_and_4" >&5 +printf "%s\n" "$ac_cv_search___atomic_fetch_and_4" >&6; } ac_res=$ac_cv_search___atomic_fetch_and_4 -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 -$as_echo_n "checking for library containing strerror... " >&6; } -if ${ac_cv_search_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +printf %s "checking for library containing strerror... " >&6; } +if test ${ac_cv_search_strerror+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10495,55 +11582,58 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char strerror (); int -main () +main (void) { return strerror (); ; return 0; } _ACEOF -for ac_lib in '' cposix; do +for ac_lib in '' cposix +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_strerror=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_strerror+:} false; then : + if test ${ac_cv_search_strerror+y} +then : break fi done -if ${ac_cv_search_strerror+:} false; then : +if test ${ac_cv_search_strerror+y} +then : -else +else $as_nop ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 -$as_echo "$ac_cv_search_strerror" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +printf "%s\n" "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if ${ac_cv_search_gethostbyname+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +printf %s "checking for library containing gethostbyname... " >&6; } +if test ${ac_cv_search_gethostbyname+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10551,55 +11641,58 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char gethostbyname (); int -main () +main (void) { return gethostbyname (); ; return 0; } _ACEOF -for ac_lib in '' nsl network net; do +for ac_lib in '' nsl network net +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_gethostbyname=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_gethostbyname+:} false; then : + if test ${ac_cv_search_gethostbyname+y} +then : break fi done -if ${ac_cv_search_gethostbyname+:} false; then : +if test ${ac_cv_search_gethostbyname+y} +then : -else +else $as_nop ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +printf "%s\n" "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if ${ac_cv_search_setsockopt+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 +printf %s "checking for library containing setsockopt... " >&6; } +if test ${ac_cv_search_setsockopt+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10607,56 +11700,60 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char setsockopt (); int -main () +main (void) { return setsockopt (); ; return 0; } _ACEOF -for ac_lib in '' socket network net; do +for ac_lib in '' socket network net +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_setsockopt=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_setsockopt+:} false; then : + if test ${ac_cv_search_setsockopt+y} +then : break fi done -if ${ac_cv_search_setsockopt+:} false; then : +if test ${ac_cv_search_setsockopt+y} +then : -else +else $as_nop ac_cv_search_setsockopt=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 -$as_echo "$ac_cv_search_setsockopt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 +printf "%s\n" "$ac_cv_search_setsockopt" >&6; } ac_res=$ac_cv_search_setsockopt -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -if test "x$with_iconv" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing iconv_open" >&5 -$as_echo_n "checking for library containing iconv_open... " >&6; } -if ${ac_cv_search_iconv_open+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test "x$with_iconv" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing iconv_open" >&5 +printf %s "checking for library containing iconv_open... " >&6; } +if test ${ac_cv_search_iconv_open+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10664,54 +11761,57 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char iconv_open (); int -main () +main (void) { return iconv_open (); ; return 0; } _ACEOF -for ac_lib in '' iconv; do +for ac_lib in '' iconv +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_iconv_open=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_iconv_open+:} false; then : + if test ${ac_cv_search_iconv_open+y} +then : break fi done -if ${ac_cv_search_iconv_open+:} false; then : +if test ${ac_cv_search_iconv_open+y} +then : -else +else $as_nop ac_cv_search_iconv_open=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv_open" >&5 -$as_echo "$ac_cv_search_iconv_open" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv_open" >&5 +printf "%s\n" "$ac_cv_search_iconv_open" >&6; } ac_res=$ac_cv_search_iconv_open -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing libiconv_open" >&5 -$as_echo_n "checking for library containing libiconv_open... " >&6; } -if ${ac_cv_search_libiconv_open+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing libiconv_open" >&5 +printf %s "checking for library containing libiconv_open... " >&6; } +if test ${ac_cv_search_libiconv_open+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10719,46 +11819,48 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char libiconv_open (); int -main () +main (void) { return libiconv_open (); ; return 0; } _ACEOF -for ac_lib in '' iconv; do +for ac_lib in '' iconv +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_libiconv_open=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_libiconv_open+:} false; then : + if test ${ac_cv_search_libiconv_open+y} +then : break fi done -if ${ac_cv_search_libiconv_open+:} false; then : +if test ${ac_cv_search_libiconv_open+y} +then : -else +else $as_nop ac_cv_search_libiconv_open=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_libiconv_open" >&5 -$as_echo "$ac_cv_search_libiconv_open" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_libiconv_open" >&5 +printf "%s\n" "$ac_cv_search_libiconv_open" >&6; } ac_res=$ac_cv_search_libiconv_open -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -10783,11 +11885,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 -$as_echo_n "checking for main in -lkernel32... " >&6; } -if ${ac_cv_lib_kernel32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 +printf %s "checking for main in -lkernel32... " >&6; } +if test ${ac_cv_lib_kernel32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10795,38 +11898,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_kernel32_main=yes -else +else $as_nop ac_cv_lib_kernel32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 -$as_echo "$ac_cv_lib_kernel32_main" >&6; } -if test "x$ac_cv_lib_kernel32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKERNEL32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 +printf "%s\n" "$ac_cv_lib_kernel32_main" >&6; } +if test "x$ac_cv_lib_kernel32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBKERNEL32 1" >>confdefs.h LIBS="-lkernel32 $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ladvapi32" >&5 -$as_echo_n "checking for main in -ladvapi32... " >&6; } -if ${ac_cv_lib_advapi32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -ladvapi32" >&5 +printf %s "checking for main in -ladvapi32... " >&6; } +if test ${ac_cv_lib_advapi32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ladvapi32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10834,38 +11938,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_advapi32_main=yes -else +else $as_nop ac_cv_lib_advapi32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_advapi32_main" >&5 -$as_echo "$ac_cv_lib_advapi32_main" >&6; } -if test "x$ac_cv_lib_advapi32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBADVAPI32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_advapi32_main" >&5 +printf "%s\n" "$ac_cv_lib_advapi32_main" >&6; } +if test "x$ac_cv_lib_advapi32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBADVAPI32 1" >>confdefs.h LIBS="-ladvapi32 $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 -$as_echo_n "checking for main in -lws2_32... " >&6; } -if ${ac_cv_lib_ws2_32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 +printf %s "checking for main in -lws2_32... " >&6; } +if test ${ac_cv_lib_ws2_32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lws2_32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10873,38 +11978,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_ws2_32_main=yes -else +else $as_nop ac_cv_lib_ws2_32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 -$as_echo "$ac_cv_lib_ws2_32_main" >&6; } -if test "x$ac_cv_lib_ws2_32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBWS2_32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 +printf "%s\n" "$ac_cv_lib_ws2_32_main" >&6; } +if test "x$ac_cv_lib_ws2_32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBWS2_32 1" >>confdefs.h LIBS="-lws2_32 $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -loleaut32" >&5 -$as_echo_n "checking for main in -loleaut32... " >&6; } -if ${ac_cv_lib_oleaut32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -loleaut32" >&5 +printf %s "checking for main in -loleaut32... " >&6; } +if test ${ac_cv_lib_oleaut32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-loleaut32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10912,28 +12018,28 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_oleaut32_main=yes -else +else $as_nop ac_cv_lib_oleaut32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 -$as_echo "$ac_cv_lib_oleaut32_main" >&6; } -if test "x$ac_cv_lib_oleaut32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBOLEAUT32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 +printf "%s\n" "$ac_cv_lib_oleaut32_main" >&6; } +if test "x$ac_cv_lib_oleaut32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBOLEAUT32 1" >>confdefs.h LIBS="-loleaut32 $LIBS" @@ -10953,11 +12059,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 -$as_echo_n "checking for main in -lkernel32... " >&6; } -if ${ac_cv_lib_kernel32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 +printf %s "checking for main in -lkernel32... " >&6; } +if test ${ac_cv_lib_kernel32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10965,38 +12072,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_kernel32_main=yes -else +else $as_nop ac_cv_lib_kernel32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 -$as_echo "$ac_cv_lib_kernel32_main" >&6; } -if test "x$ac_cv_lib_kernel32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKERNEL32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 +printf "%s\n" "$ac_cv_lib_kernel32_main" >&6; } +if test "x$ac_cv_lib_kernel32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBKERNEL32 1" >>confdefs.h LIBS="-lkernel32 $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -loleaut32" >&5 -$as_echo_n "checking for main in -loleaut32... " >&6; } -if ${ac_cv_lib_oleaut32_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -loleaut32" >&5 +printf %s "checking for main in -loleaut32... " >&6; } +if test ${ac_cv_lib_oleaut32_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-loleaut32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11004,28 +12112,28 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_oleaut32_main=yes -else +else $as_nop ac_cv_lib_oleaut32_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 -$as_echo "$ac_cv_lib_oleaut32_main" >&6; } -if test "x$ac_cv_lib_oleaut32_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBOLEAUT32 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 +printf "%s\n" "$ac_cv_lib_oleaut32_main" >&6; } +if test "x$ac_cv_lib_oleaut32_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBOLEAUT32 1" >>confdefs.h LIBS="-loleaut32 $LIBS" @@ -11042,12 +12150,41 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu esac +ac_header= ac_cache= +for ac_item in $ac_header_cxx_list +do + if test $ac_cache; then + ac_fn_cxx_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else @@ -11058,10 +12195,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP @@ -11070,13 +12212,13 @@ case `"$ac_path_EGREP" --version 2>&1` in ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -11105,334 +12247,207 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_types_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_TYPES_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_types_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_TYPES_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_socket_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_SOCKET_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_SOCKET_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_time_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_TIME_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_TIME_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_timeb_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_TIMEB_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_TIMEB_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_stat_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_STAT_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_stat_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_STAT_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_syscall_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_SYSCALL_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_syscall_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_SYSCALL_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_file_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYS_FILE_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_file_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYS_FILE_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" -if test "x$ac_cv_header_syslog_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_SYSLOG_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" +if test "x$ac_cv_header_syslog_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_SYSLOG_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" -if test "x$ac_cv_header_arpa_inet_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_ARPA_INET_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_ARPA_INET_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" -if test "x$ac_cv_header_netinet_in_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_NETINET_IN_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_NETINET_IN_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" -if test "x$ac_cv_header_netinet_tcp_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_NETINET_TCP_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_tcp_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_NETINET_TCP_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" -if test "x$ac_cv_header_netdb_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_NETDB_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_NETDB_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" -if test "x$ac_cv_header_unistd_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_UNISTD_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_UNISTD_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" -if test "x$ac_cv_header_fcntl_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_FCNTL_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" +if test "x$ac_cv_header_fcntl_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_FCNTL_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" -if test "x$ac_cv_header_stdio_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_STDIO_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" +if test "x$ac_cv_header_stdio_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_STDIO_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default" -if test "x$ac_cv_header_stdarg_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_STDARG_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default" +if test "x$ac_cv_header_stdarg_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_STDARG_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_STDLIB_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_STDLIB_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" -if test "x$ac_cv_header_wchar_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_WCHAR_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" +if test "x$ac_cv_header_wchar_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_WCHAR_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" -if test "x$ac_cv_header_time_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_TIME_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" +if test "x$ac_cv_header_time_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_TIME_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" -if test "x$ac_cv_header_errno_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_ERRNO_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" +if test "x$ac_cv_header_errno_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_ERRNO_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" -if test "x$ac_cv_header_limits_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_LIMITS_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" +if test "x$ac_cv_header_limits_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_LIMITS_H 1" >>confdefs.h fi - - ac_fn_cxx_check_header_mongrel "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default" -if test "x$ac_cv_header_poll_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_POLL_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default" +if test "x$ac_cv_header_poll_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_POLL_H 1" >>confdefs.h fi +if test "x$with_iconv" = "xyes" +then : -if test "x$with_iconv" = "xyes"; then : - - ac_fn_cxx_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = xyes; then : - $as_echo "#define LOG4CPLUS_HAVE_ICONV_H 1" >>confdefs.h + ac_fn_cxx_check_header_compile "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" +if test "x$ac_cv_header_iconv_h" = xyes +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV_H 1" >>confdefs.h fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t" >&5 -$as_echo_n "checking for socklen_t... " >&6; } -if ${ac_cv_ax_type_socklen_t+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socklen_t" >&5 +printf %s "checking for socklen_t... " >&6; } +if test ${ac_cv_ax_type_socklen_t+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11441,26 +12456,27 @@ else #include int -main () +main (void) { socklen_t len = 42; return 0; ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_ax_type_socklen_t=yes -else +else $as_nop ac_cv_ax_type_socklen_t=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ax_type_socklen_t" >&5 -$as_echo "$ac_cv_ax_type_socklen_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ax_type_socklen_t" >&5 +printf "%s\n" "$ac_cv_ax_type_socklen_t" >&6; } if test $ac_cv_ax_type_socklen_t != yes; then -$as_echo "#define socklen_t int" >>confdefs.h +printf "%s\n" "#define socklen_t int" >>confdefs.h fi @@ -11468,21 +12484,23 @@ $as_echo "#define socklen_t int" >>confdefs.h # Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then : +if test ${enable_threads+y} +then : enableval=$enable_threads; log4cplus_check_yesno_func "${enableval}" "--enable-threads" -else +else $as_nop enable_threads=yes fi ENABLE_THREADS=$enable_threads -if test "x$enable_threads" = "xyes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: Creating a multi-threaded library." >&5 -$as_echo "$as_me: Creating a multi-threaded library." >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: Threads support:" >&5 -$as_echo "$as_me: Threads support:" >&6;} +if test "x$enable_threads" = "xyes" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Creating a multi-threaded library." >&5 +printf "%s\n" "$as_me: Creating a multi-threaded library." >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Threads support:" >&5 +printf "%s\n" "$as_me: Threads support:" >&6;} as_fn_append CPPFLAGS " -D_REENTRANT" @@ -11507,40 +12525,39 @@ ax_pthread_ok=no # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: -if test ! -z "$PTHREAD_LIBS$PTHREAD_CXXFLAGS"; then : +if test ! -z "$PTHREAD_LIBS$PTHREAD_CXXFLAGS" +then : save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" save_LIBS=$LIBS LIBS="$PTHREAD_LIBS $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CXXFLAGS=$PTHREAD_CXXFLAGS" >&5 -$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CXXFLAGS=$PTHREAD_CXXFLAGS... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CXXFLAGS=$PTHREAD_CXXFLAGS" >&5 +printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CXXFLAGS=$PTHREAD_CXXFLAGS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_join (); +namespace conftest { + extern "C" int pthread_join (); +} int -main () +main (void) { -return pthread_join (); +return conftest::pthread_join (); ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_pthread_ok=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } - if test x"$ax_pthread_ok" = xno; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +printf "%s\n" "$ax_pthread_ok" >&6; } + if test x"$ax_pthread_ok" = xno +then : { PTHREAD_LIBS=; unset PTHREAD_LIBS;} { PTHREAD_CXXFLAGS=; unset PTHREAD_CXXFLAGS;} fi @@ -11594,7 +12611,8 @@ case ${host_os} in #( # whether they'll stub that too in a future libc.) So, we'll # just look for -pthreads and -lpthread first: ax_pthread_flags="-mt -pthread $ax_pthread_flags" - if test "x$GCC" = "xyes"; then : + if test "x$GCC" = "xyes" +then : ax_pthread_flags="-pthreads pthread -pthread $ax_pthread_flags" fi ;; #( darwin*) : @@ -11602,7 +12620,8 @@ fi ;; #( hp-ux*) : # On HP-UX compiling with aCC, cc understands -mthreads as # '-mt' '-hreads' ..., the test succeeds but it fails to run. - if test x"$GCC" != xyes; then : + if test x"$GCC" != xyes +then : ax_pthread_flags="-mt $ax_pthread_flags" fi ;; #( *) : @@ -11611,25 +12630,27 @@ esac ax_pthread_flags="none $ax_pthread_flags" -if test x"$ax_pthread_ok" = xno; then : +if test x"$ax_pthread_ok" = xno +then : for flag in $ax_pthread_flags; do case $flag in #( none) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 -$as_echo_n "checking whether pthreads work without any flags... " >&6; } ;; #( + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } ;; #( -*) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 -$as_echo_n "checking whether pthreads work with $flag... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +printf %s "checking whether pthreads work with $flag... " >&6; } PTHREAD_CXXFLAGS=$flag ;; #( pthread-config) : # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ax_pthread_config+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_ax_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else @@ -11637,11 +12658,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ax_pthread_config="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -11653,22 +12678,23 @@ fi fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 -$as_echo "$ax_pthread_config" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 +printf "%s\n" "$ax_pthread_config" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - if test x"$ax_pthread_config" = xno; then : + if test x"$ax_pthread_config" = xno +then : continue fi PTHREAD_CXXFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; #( *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 -$as_echo_n "checking for the pthreads library -l$flag... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +printf %s "checking for the pthreads library -l$flag... " >&6; } PTHREAD_LIBS="-l$flag" ;; esac @@ -11692,7 +12718,7 @@ esac static void routine(void *a) { a = 0; } static void *start_routine(void *a) { return a; } int -main () +main (void) { pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); @@ -11704,18 +12730,20 @@ pthread_t th; pthread_attr_t attr; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_pthread_ok=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$save_LIBS CXXFLAGS=$save_CXXFLAGS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } - if test "x$ax_pthread_ok" = xyes; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +printf "%s\n" "$ax_pthread_ok" >&6; } + if test "x$ax_pthread_ok" = xyes +then : break fi @@ -11726,7 +12754,8 @@ fi fi # Various other checks: -if test "x$ax_pthread_ok" = xyes; then : +if test "x$ax_pthread_ok" = xyes +then : save_LIBS=$LIBS LIBS="$PTHREAD_LIBS $LIBS" @@ -11734,8 +12763,8 @@ if test "x$ax_pthread_ok" = xyes; then : CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 -$as_echo_n "checking for joinable pthread attribute... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11743,32 +12772,32 @@ $as_echo_n "checking for joinable pthread attribute... " >&6; } #include int -main () +main (void) { int attr = $attr; return attr /* ; */ ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : attr_name=$attr break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 -$as_echo "$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 +printf "%s\n" "$attr_name" >&6; } + if test "$attr_name" != PTHREAD_CREATE_JOINABLE +then : -cat >>confdefs.h <<_ACEOF -#define PTHREAD_CREATE_JOINABLE $attr_name -_ACEOF +printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $attr_name" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 -$as_echo_n "checking if more special flags are required for pthreads... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +printf %s "checking if more special flags are required for pthreads... " >&6; } flag=no case ${host_os} in #( aix* | freebsd* | darwin*) : @@ -11776,26 +12805,29 @@ $as_echo_n "checking if more special flags are required for pthreads... " >&6; } osf* | hpux*) : flag="-D_REENTRANT" ;; #( solaris*) : - if test "$GCC" = "yes"; then : + if test "$GCC" = "yes" +then : flag="-D_REENTRANT" -else +else $as_nop flag="-mt -D_REENTRANT" fi ;; #( *) : ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 -$as_echo "${flag}" >&6; } - if test "x$flag" != xno; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 +printf "%s\n" "${flag}" >&6; } + if test "x$flag" != xno +then : PTHREAD_CXXFLAGS="$flag $PTHREAD_CXXFLAGS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 -$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; } -if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 +printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } +if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11803,26 +12835,28 @@ else #include int -main () +main (void) { int i = PTHREAD_PRIO_INHERIT; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_PTHREAD_PRIO_INHERIT=yes -else +else $as_nop ax_cv_PTHREAD_PRIO_INHERIT=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 -$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } - if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 +printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } + if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" +then : -$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h fi @@ -11835,11 +12869,12 @@ fi # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then : +if test x"$ax_pthread_ok" = xyes +then : -$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h -else +else $as_nop ax_pthread_ok=no as_fn_error $? "Requested threads support but no threads were found." "$LINENO" 5 fi @@ -11861,11 +12896,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 -$as_echo_n "checking for library containing sem_init... " >&6; } -if ${ac_cv_search_sem_init+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 +printf %s "checking for library containing sem_init... " >&6; } +if test ${ac_cv_search_sem_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11873,46 +12909,48 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char sem_init (); int -main () +main (void) { return sem_init (); ; return 0; } _ACEOF -for ac_lib in '' rt; do +for ac_lib in '' rt +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_sem_init=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_sem_init+:} false; then : + if test ${ac_cv_search_sem_init+y} +then : break fi done -if ${ac_cv_search_sem_init+:} false; then : +if test ${ac_cv_search_sem_init+y} +then : -else +else $as_nop ac_cv_search_sem_init=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_init" >&5 -$as_echo "$ac_cv_search_sem_init" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_init" >&5 +printf "%s\n" "$ac_cv_search_sem_init" >&6; } ac_res=$ac_cv_search_sem_init -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -11928,11 +12966,12 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu gnu|clang) : ;; #( sun) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -xthreadvar" >&5 -$as_echo_n "checking CXXFLAGS for sun/cc -xthreadvar... " >&6; } -if ${ax_cv_cxxflags_sun_option__xthreadvar+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -xthreadvar" >&5 +printf %s "checking CXXFLAGS for sun/cc -xthreadvar... " >&6; } +if test ${ax_cv_cxxflags_sun_option__xthreadvar+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_sun_option__xthreadvar="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -11947,17 +12986,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_sun_option__xthreadvar=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -11969,23 +13009,23 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xthreadvar" >&5 -$as_echo "$ax_cv_cxxflags_sun_option__xthreadvar" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xthreadvar" >&5 +printf "%s\n" "$ax_cv_cxxflags_sun_option__xthreadvar" >&6; } var=$ax_cv_cxxflags_sun_option__xthreadvar case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 (: CXXFLAGS does contain $var) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 (: CXXFLAGS="$CXXFLAGS $var") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $var" fi @@ -11993,11 +13033,12 @@ case ".$var" in esac ;; #( ibm) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for aix/cc -qtls" >&5 -$as_echo_n "checking CXXFLAGS for aix/cc -qtls... " >&6; } -if ${ax_cv_cxxflags_aix_option__qtls+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for aix/cc -qtls" >&5 +printf %s "checking CXXFLAGS for aix/cc -qtls... " >&6; } +if test ${ax_cv_cxxflags_aix_option__qtls+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_cxxflags_aix_option__qtls="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -12012,17 +13053,18 @@ do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int zero; int -main () +main (void) { zero = 0; return zero; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ax_cv_cxxflags_aix_option__qtls=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done CXXFLAGS="$ac_save_CXXFLAGS" @@ -12034,22 +13076,22 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_aix_option__qtls" >&5 -$as_echo "$ax_cv_cxxflags_aix_option__qtls" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_aix_option__qtls" >&5 +printf "%s\n" "$ax_cv_cxxflags_aix_option__qtls" >&6; } case ".$ax_cv_cxxflags_aix_option__qtls" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) if echo " $CXXFLAGS " | grep " $ax_cv_cxxflags_aix_option__qtls " 2>&1 >/dev/null - then { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$ax_cv_cxxflags_aix_option__qtls"; } >&5 + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$ax_cv_cxxflags_aix_option__qtls"; } >&5 (: CXXFLAGS does contain $ax_cv_cxxflags_aix_option__qtls) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - else { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$ax_cv_cxxflags_aix_option__qtls\""; } >&5 + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$ax_cv_cxxflags_aix_option__qtls\""; } >&5 (: CXXFLAGS="$CXXFLAGS $ax_cv_cxxflags_aix_option__qtls") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } CXXFLAGS="$CXXFLAGS $ax_cv_cxxflags_aix_option__qtls" fi @@ -12061,18 +13103,20 @@ esac esac if test \( "$target_os" != "darwin" -o "$target_cpu" != "arm" \) \ - -a "$target_os" != "cygwin"; then : + -a "$target_os" != "cygwin" +then : ax_tls_support=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread_local" >&5 -$as_echo_n "checking for thread_local... " >&6; } -if ${ac_cv_thread_local+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread_local" >&5 +printf %s "checking for thread_local... " >&6; } +if test ${ac_cv_thread_local+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12088,7 +13132,7 @@ else thread_local int x = 1; int -main () +main (void) { x = 2; foo (); @@ -12097,33 +13141,37 @@ x = 2; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ac_cv_thread_local=yes ax_tls_support=yes -else +else $as_nop ac_cv_thread_local=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_thread_local" >&5 -$as_echo "$ac_cv_thread_local" >&6; } -if test "x$ac_cv_thread_local" = "xyes"; then : - $as_echo "#define HAVE_TLS_SUPPORT 1" >>confdefs.h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_thread_local" >&5 +printf "%s\n" "$ac_cv_thread_local" >&6; } +if test "x$ac_cv_thread_local" = "xyes" +then : + printf "%s\n" "#define HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define TLS_SUPPORT_CONSTRUCT thread_local" >>confdefs.h + printf "%s\n" "#define TLS_SUPPORT_CONSTRUCT thread_local" >>confdefs.h fi -if test "x$ax_tls_support" = "xno"; then : +if test "x$ax_tls_support" = "xno" +then : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5 -$as_echo_n "checking for __thread... " >&6; } -if ${ac_cv__thread_keyword+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5 +printf %s "checking for __thread... " >&6; } +if test ${ac_cv__thread_keyword+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12145,7 +13193,7 @@ else __thread int x = 1; int -main () +main (void) { x = 2; foo (); @@ -12155,35 +13203,39 @@ x = 2; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ac_cv__thread_keyword=yes ax_tls_support=yes -else +else $as_nop ac_cv__thread_keyword=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv__thread_keyword" >&5 -$as_echo "$ac_cv__thread_keyword" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__thread_keyword" >&5 +printf "%s\n" "$ac_cv__thread_keyword" >&6; } -if test "x$ac_cv__thread_keyword" = "xyes"; then : - $as_echo "#define HAVE_TLS_SUPPORT 1" >>confdefs.h +if test "x$ac_cv__thread_keyword" = "xyes" +then : + printf "%s\n" "#define HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define TLS_SUPPORT_CONSTRUCT __thread" >>confdefs.h + printf "%s\n" "#define TLS_SUPPORT_CONSTRUCT __thread" >>confdefs.h fi fi -if test "x$ax_tls_support" = "xno"; then : +if test "x$ax_tls_support" = "xno" +then : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __declspec(thread)" >&5 -$as_echo_n "checking for __declspec(thread)... " >&6; } -if ${ac_cv_declspec_thread+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __declspec(thread)" >&5 +printf %s "checking for __declspec(thread)... " >&6; } +if test ${ac_cv_declspec_thread+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12204,7 +13256,7 @@ And extra please fail. #endif int -main () +main (void) { x = 2; foo (); @@ -12213,22 +13265,24 @@ x = 2; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : ac_cv_declspec_thread=yes ax_tls_support=yes -else +else $as_nop ac_cv_declspec_thread=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec_thread" >&5 -$as_echo "$ac_cv_declspec_thread" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec_thread" >&5 +printf "%s\n" "$ac_cv_declspec_thread" >&6; } - if test "x$ac_cv_declspec_thread" = "xyes"; then : - $as_echo "#define HAVE_TLS_SUPPORT 1" >>confdefs.h + if test "x$ac_cv_declspec_thread" = "xyes" +then : + printf "%s\n" "#define HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define TLS_SUPPORT_CONSTRUCT __declspec(thread)" >>confdefs.h + printf "%s\n" "#define TLS_SUPPORT_CONSTRUCT __declspec(thread)" >>confdefs.h fi fi @@ -12238,31 +13292,34 @@ fi - if test "x$ac_cv_thread_local" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h + if test "x$ac_cv_thread_local" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define LOG4CPLUS_THREAD_LOCAL_VAR thread_local" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR thread_local" >>confdefs.h -else - if test "x$ac_cv_declspec_thread" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h +else $as_nop + if test "x$ac_cv_declspec_thread" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define LOG4CPLUS_THREAD_LOCAL_VAR __declspec(thread)" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR __declspec(thread)" >>confdefs.h -else - if test "x$ac_cv__thread_keyword" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h +else $as_nop + if test "x$ac_cv__thread_keyword" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h - $as_echo "#define LOG4CPLUS_THREAD_LOCAL_VAR __thread" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR __thread" >>confdefs.h fi fi fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: Creating a single-threaded library" >&5 -$as_echo "$as_me: Creating a single-threaded library" >&6;} +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Creating a single-threaded library" >&5 +printf "%s\n" "$as_me: Creating a single-threaded library" >&6;} -$as_echo "#define LOG4CPLUS_SINGLE_THREADED 1" >>confdefs.h +printf "%s\n" "#define LOG4CPLUS_SINGLE_THREADED 1" >>confdefs.h fi @@ -12278,536 +13335,541 @@ fi - for ac_func in gmtime_r + + for ac_func in gmtime_r do : ac_fn_cxx_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r" -if test "x$ac_cv_func_gmtime_r" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GMTIME_R 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_GMTIME_R 1" >>confdefs.h +if test "x$ac_cv_func_gmtime_r" = xyes +then : + printf "%s\n" "#define HAVE_GMTIME_R 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_GMTIME_R 1" >>confdefs.h fi + done - for ac_func in localtime_r + for ac_func in localtime_r do : ac_fn_cxx_check_func "$LINENO" "localtime_r" "ac_cv_func_localtime_r" -if test "x$ac_cv_func_localtime_r" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LOCALTIME_R 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_LOCALTIME_R 1" >>confdefs.h +if test "x$ac_cv_func_localtime_r" = xyes +then : + printf "%s\n" "#define HAVE_LOCALTIME_R 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_LOCALTIME_R 1" >>confdefs.h fi + done - for ac_func in getpid + for ac_func in getpid do : ac_fn_cxx_check_func "$LINENO" "getpid" "ac_cv_func_getpid" -if test "x$ac_cv_func_getpid" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETPID 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_GETPID 1" >>confdefs.h +if test "x$ac_cv_func_getpid" = xyes +then : + printf "%s\n" "#define HAVE_GETPID 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_GETPID 1" >>confdefs.h fi + done - for ac_func in poll + for ac_func in poll do : ac_fn_cxx_check_func "$LINENO" "poll" "ac_cv_func_poll" -if test "x$ac_cv_func_poll" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_POLL 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_POLL 1" >>confdefs.h +if test "x$ac_cv_func_poll" = xyes +then : + printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_POLL 1" >>confdefs.h fi + done - for ac_func in pipe + for ac_func in pipe do : ac_fn_cxx_check_func "$LINENO" "pipe" "ac_cv_func_pipe" -if test "x$ac_cv_func_pipe" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PIPE 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_PIPE 1" >>confdefs.h +if test "x$ac_cv_func_pipe" = xyes +then : + printf "%s\n" "#define HAVE_PIPE 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_PIPE 1" >>confdefs.h fi + done - for ac_func in pipe2 + for ac_func in pipe2 do : ac_fn_cxx_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2" -if test "x$ac_cv_func_pipe2" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PIPE2 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_PIPE2 1" >>confdefs.h +if test "x$ac_cv_func_pipe2" = xyes +then : + printf "%s\n" "#define HAVE_PIPE2 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_PIPE2 1" >>confdefs.h fi + done - for ac_func in accept4 + for ac_func in accept4 do : ac_fn_cxx_check_func "$LINENO" "accept4" "ac_cv_func_accept4" -if test "x$ac_cv_func_accept4" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ACCEPT4 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ACCEPT4 1" >>confdefs.h +if test "x$ac_cv_func_accept4" = xyes +then : + printf "%s\n" "#define HAVE_ACCEPT4 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ACCEPT4 1" >>confdefs.h fi + done - for ac_func in ftime + for ac_func in ftime do : ac_fn_cxx_check_func "$LINENO" "ftime" "ac_cv_func_ftime" -if test "x$ac_cv_func_ftime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FTIME 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_FTIME 1" >>confdefs.h +if test "x$ac_cv_func_ftime" = xyes +then : + printf "%s\n" "#define HAVE_FTIME 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_FTIME 1" >>confdefs.h fi + done - for ac_func in stat + for ac_func in stat do : ac_fn_cxx_check_func "$LINENO" "stat" "ac_cv_func_stat" -if test "x$ac_cv_func_stat" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STAT 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_STAT 1" >>confdefs.h +if test "x$ac_cv_func_stat" = xyes +then : + printf "%s\n" "#define HAVE_STAT 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_STAT 1" >>confdefs.h fi + done - for ac_func in lstat + for ac_func in lstat do : ac_fn_cxx_check_func "$LINENO" "lstat" "ac_cv_func_lstat" -if test "x$ac_cv_func_lstat" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LSTAT 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_LSTAT 1" >>confdefs.h +if test "x$ac_cv_func_lstat" = xyes +then : + printf "%s\n" "#define HAVE_LSTAT 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_LSTAT 1" >>confdefs.h fi + done - for ac_func in fcntl + for ac_func in fcntl do : ac_fn_cxx_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl" -if test "x$ac_cv_func_fcntl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FCNTL 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_FCNTL 1" >>confdefs.h +if test "x$ac_cv_func_fcntl" = xyes +then : + printf "%s\n" "#define HAVE_FCNTL 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_FCNTL 1" >>confdefs.h fi + done - for ac_func in lockf + for ac_func in lockf do : ac_fn_cxx_check_func "$LINENO" "lockf" "ac_cv_func_lockf" -if test "x$ac_cv_func_lockf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LOCKF 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_LOCKF 1" >>confdefs.h +if test "x$ac_cv_func_lockf" = xyes +then : + printf "%s\n" "#define HAVE_LOCKF 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_LOCKF 1" >>confdefs.h fi + done - for ac_func in flock + for ac_func in flock do : ac_fn_cxx_check_func "$LINENO" "flock" "ac_cv_func_flock" -if test "x$ac_cv_func_flock" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FLOCK 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_FLOCK 1" >>confdefs.h +if test "x$ac_cv_func_flock" = xyes +then : + printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_FLOCK 1" >>confdefs.h fi + done - for ac_func in htons + for ac_func in htons do : ac_fn_cxx_check_func "$LINENO" "htons" "ac_cv_func_htons" -if test "x$ac_cv_func_htons" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_HTONS 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_HTONS 1" >>confdefs.h +if test "x$ac_cv_func_htons" = xyes +then : + printf "%s\n" "#define HAVE_HTONS 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_HTONS 1" >>confdefs.h fi + done - for ac_func in ntohs + for ac_func in ntohs do : ac_fn_cxx_check_func "$LINENO" "ntohs" "ac_cv_func_ntohs" -if test "x$ac_cv_func_ntohs" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NTOHS 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_NTOHS 1" >>confdefs.h +if test "x$ac_cv_func_ntohs" = xyes +then : + printf "%s\n" "#define HAVE_NTOHS 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_NTOHS 1" >>confdefs.h fi + done - for ac_func in htonl + for ac_func in htonl do : ac_fn_cxx_check_func "$LINENO" "htonl" "ac_cv_func_htonl" -if test "x$ac_cv_func_htonl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_HTONL 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_HTONL 1" >>confdefs.h +if test "x$ac_cv_func_htonl" = xyes +then : + printf "%s\n" "#define HAVE_HTONL 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_HTONL 1" >>confdefs.h fi + done - for ac_func in ntohl + for ac_func in ntohl do : ac_fn_cxx_check_func "$LINENO" "ntohl" "ac_cv_func_ntohl" -if test "x$ac_cv_func_ntohl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NTOHL 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_NTOHL 1" >>confdefs.h +if test "x$ac_cv_func_ntohl" = xyes +then : + printf "%s\n" "#define HAVE_NTOHL 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_NTOHL 1" >>confdefs.h fi + done - for ac_func in shutdown + for ac_func in shutdown do : ac_fn_cxx_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_SHUTDOWN 1" >>confdefs.h +if test "x$ac_cv_func_shutdown" = xyes +then : + printf "%s\n" "#define HAVE_SHUTDOWN 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_SHUTDOWN 1" >>confdefs.h fi + done - for ac_func in mbstowcs + for ac_func in mbstowcs do : ac_fn_cxx_check_func "$LINENO" "mbstowcs" "ac_cv_func_mbstowcs" -if test "x$ac_cv_func_mbstowcs" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MBSTOWCS 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_MBSTOWCS 1" >>confdefs.h +if test "x$ac_cv_func_mbstowcs" = xyes +then : + printf "%s\n" "#define HAVE_MBSTOWCS 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_MBSTOWCS 1" >>confdefs.h fi + done - for ac_func in wcstombs + for ac_func in wcstombs do : ac_fn_cxx_check_func "$LINENO" "wcstombs" "ac_cv_func_wcstombs" -if test "x$ac_cv_func_wcstombs" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WCSTOMBS 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_WCSTOMBS 1" >>confdefs.h +if test "x$ac_cv_func_wcstombs" = xyes +then : + printf "%s\n" "#define HAVE_WCSTOMBS 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_WCSTOMBS 1" >>confdefs.h fi + done +if test "x$with_iconv" = "xyes" +then : -if test "x$with_iconv" = "xyes"; then : - for ac_func in iconv_open + for ac_func in iconv_open do : ac_fn_cxx_check_func "$LINENO" "iconv_open" "ac_cv_func_iconv_open" -if test "x$ac_cv_func_iconv_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ICONV_OPEN 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV_OPEN 1" >>confdefs.h +if test "x$ac_cv_func_iconv_open" = xyes +then : + printf "%s\n" "#define HAVE_ICONV_OPEN 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV_OPEN 1" >>confdefs.h fi + done - for ac_func in iconv_close + for ac_func in iconv_close do : ac_fn_cxx_check_func "$LINENO" "iconv_close" "ac_cv_func_iconv_close" -if test "x$ac_cv_func_iconv_close" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ICONV_CLOSE 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV_CLOSE 1" >>confdefs.h +if test "x$ac_cv_func_iconv_close" = xyes +then : + printf "%s\n" "#define HAVE_ICONV_CLOSE 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV_CLOSE 1" >>confdefs.h fi + done - for ac_func in iconv + for ac_func in iconv do : ac_fn_cxx_check_func "$LINENO" "iconv" "ac_cv_func_iconv" -if test "x$ac_cv_func_iconv" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ICONV 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV 1" >>confdefs.h +if test "x$ac_cv_func_iconv" = xyes +then : + printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV 1" >>confdefs.h fi + done - for ac_func in libiconv_open + for ac_func in libiconv_open do : ac_fn_cxx_check_func "$LINENO" "libiconv_open" "ac_cv_func_libiconv_open" -if test "x$ac_cv_func_libiconv_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBICONV_OPEN 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV_OPEN 1" >>confdefs.h +if test "x$ac_cv_func_libiconv_open" = xyes +then : + printf "%s\n" "#define HAVE_LIBICONV_OPEN 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV_OPEN 1" >>confdefs.h fi + done - for ac_func in libiconv_close + for ac_func in libiconv_close do : ac_fn_cxx_check_func "$LINENO" "libiconv_close" "ac_cv_func_libiconv_close" -if test "x$ac_cv_func_libiconv_close" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBICONV_CLOSE 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV_CLOSE 1" >>confdefs.h +if test "x$ac_cv_func_libiconv_close" = xyes +then : + printf "%s\n" "#define HAVE_LIBICONV_CLOSE 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV_CLOSE 1" >>confdefs.h fi + done - for ac_func in libiconv + for ac_func in libiconv do : ac_fn_cxx_check_func "$LINENO" "libiconv" "ac_cv_func_libiconv" -if test "x$ac_cv_func_libiconv" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBICONV 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_ICONV 1" >>confdefs.h +if test "x$ac_cv_func_libiconv" = xyes +then : + printf "%s\n" "#define HAVE_LIBICONV 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_ICONV 1" >>confdefs.h fi -done +done fi - for ac_func in vsnprintf + + for ac_func in vsnprintf do : ac_fn_cxx_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" -if test "x$ac_cv_func_vsnprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSNPRINTF 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VSNPRINTF 1" >>confdefs.h +if test "x$ac_cv_func_vsnprintf" = xyes +then : + printf "%s\n" "#define HAVE_VSNPRINTF 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VSNPRINTF 1" >>confdefs.h fi + done - for ac_func in _vsnprintf + for ac_func in _vsnprintf do : ac_fn_cxx_check_func "$LINENO" "_vsnprintf" "ac_cv_func__vsnprintf" -if test "x$ac_cv_func__vsnprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__VSNPRINTF 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE__VSNPRINTF 1" >>confdefs.h +if test "x$ac_cv_func__vsnprintf" = xyes +then : + printf "%s\n" "#define HAVE__VSNPRINTF 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE__VSNPRINTF 1" >>confdefs.h fi + done - for ac_func in vsnwprintf + for ac_func in vsnwprintf do : ac_fn_cxx_check_func "$LINENO" "vsnwprintf" "ac_cv_func_vsnwprintf" -if test "x$ac_cv_func_vsnwprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSNWPRINTF 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VSNWPRINTF 1" >>confdefs.h +if test "x$ac_cv_func_vsnwprintf" = xyes +then : + printf "%s\n" "#define HAVE_VSNWPRINTF 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VSNWPRINTF 1" >>confdefs.h fi + done - for ac_func in _vsnwprintf + for ac_func in _vsnwprintf do : ac_fn_cxx_check_func "$LINENO" "_vsnwprintf" "ac_cv_func__vsnwprintf" -if test "x$ac_cv_func__vsnwprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__VSNWPRINTF 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE__VSNWPRINTF 1" >>confdefs.h +if test "x$ac_cv_func__vsnwprintf" = xyes +then : + printf "%s\n" "#define HAVE__VSNWPRINTF 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE__VSNWPRINTF 1" >>confdefs.h fi + done - for ac_func in vsprintf_s + for ac_func in vsprintf_s do : ac_fn_cxx_check_func "$LINENO" "vsprintf_s" "ac_cv_func_vsprintf_s" -if test "x$ac_cv_func_vsprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VSPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func_vsprintf_s" = xyes +then : + printf "%s\n" "#define HAVE_VSPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VSPRINTF_S 1" >>confdefs.h fi + done - for ac_func in vswprintf_s + for ac_func in vswprintf_s do : ac_fn_cxx_check_func "$LINENO" "vswprintf_s" "ac_cv_func_vswprintf_s" -if test "x$ac_cv_func_vswprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSWPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VSWPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func_vswprintf_s" = xyes +then : + printf "%s\n" "#define HAVE_VSWPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VSWPRINTF_S 1" >>confdefs.h fi + done - for ac_func in vfprintf_s + for ac_func in vfprintf_s do : ac_fn_cxx_check_func "$LINENO" "vfprintf_s" "ac_cv_func_vfprintf_s" -if test "x$ac_cv_func_vfprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VFPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VFPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func_vfprintf_s" = xyes +then : + printf "%s\n" "#define HAVE_VFPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VFPRINTF_S 1" >>confdefs.h fi + done - for ac_func in vfwprintf_s + for ac_func in vfwprintf_s do : ac_fn_cxx_check_func "$LINENO" "vfwprintf_s" "ac_cv_func_vfwprintf_s" -if test "x$ac_cv_func_vfwprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VFWPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_VFWPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func_vfwprintf_s" = xyes +then : + printf "%s\n" "#define HAVE_VFWPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_VFWPRINTF_S 1" >>confdefs.h fi + done - for ac_func in _vsnprintf_s + for ac_func in _vsnprintf_s do : ac_fn_cxx_check_func "$LINENO" "_vsnprintf_s" "ac_cv_func__vsnprintf_s" -if test "x$ac_cv_func__vsnprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__VSNPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE__VSNPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func__vsnprintf_s" = xyes +then : + printf "%s\n" "#define HAVE__VSNPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE__VSNPRINTF_S 1" >>confdefs.h fi + done - for ac_func in _vsnwprintf_s + for ac_func in _vsnwprintf_s do : ac_fn_cxx_check_func "$LINENO" "_vsnwprintf_s" "ac_cv_func__vsnwprintf_s" -if test "x$ac_cv_func__vsnwprintf_s" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__VSNWPRINTF_S 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE__VSNWPRINTF_S 1" >>confdefs.h +if test "x$ac_cv_func__vsnwprintf_s" = xyes +then : + printf "%s\n" "#define HAVE__VSNWPRINTF_S 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE__VSNWPRINTF_S 1" >>confdefs.h fi -done +done case "$target_os" in #( cygwin*) : - for ac_func in OutputDebugStringW + + for ac_func in OutputDebugStringW do : ac_fn_cxx_check_func "$LINENO" "OutputDebugStringW" "ac_cv_func_OutputDebugStringW" -if test "x$ac_cv_func_OutputDebugStringW" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_OUTPUTDEBUGSTRINGW 1 -_ACEOF - $as_echo "#define LOG4CPLUS_HAVE_OUTPUTDEBUGSTRING 1" >>confdefs.h +if test "x$ac_cv_func_OutputDebugStringW" = xyes +then : + printf "%s\n" "#define HAVE_OUTPUTDEBUGSTRINGW 1" >>confdefs.h + printf "%s\n" "#define LOG4CPLUS_HAVE_OUTPUTDEBUGSTRING 1" >>confdefs.h fi -done - ;; #( + +done ;; #( *) : ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENAMETOOLONG" >&5 -$as_echo_n "checking for ENAMETOOLONG... " >&6; } -if ${ax_cv_have_enametoolong+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ENAMETOOLONG" >&5 +printf %s "checking for ENAMETOOLONG... " >&6; } +if test ${ax_cv_have_enametoolong+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { int value = ENAMETOOLONG; ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ax_cv_have_enametoolong=yes -else +else $as_nop ax_cv_have_enametoolong=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_enametoolong" >&5 -$as_echo "$ax_cv_have_enametoolong" >&6; } - if test "x$ax_cv_have_enametoolong" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_ENAMETOOLONG 1" >>confdefs.h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_enametoolong" >&5 +printf "%s\n" "$ax_cv_have_enametoolong" >&6; } + if test "x$ax_cv_have_enametoolong" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_ENAMETOOLONG 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 -$as_echo_n "checking for getaddrinfo... " >&6; } -if ${ax_cv_have_getaddrinfo+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 +printf %s "checking for getaddrinfo... " >&6; } +if test ${ax_cv_have_getaddrinfo+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12822,7 +13884,7 @@ else #include int -main () +main (void) { getaddrinfo (NULL, NULL, NULL, NULL); @@ -12831,33 +13893,37 @@ getaddrinfo (NULL, NULL, NULL, NULL); return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ax_cv_have_getaddrinfo=yes -else +else $as_nop ax_cv_have_getaddrinfo=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_getaddrinfo" >&5 -$as_echo "$ax_cv_have_getaddrinfo" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_getaddrinfo" >&5 +printf "%s\n" "$ax_cv_have_getaddrinfo" >&6; } -if test "x$ax_cv_have_getaddrinfo" = "xyes"; then : - $as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h +if test "x$ax_cv_have_getaddrinfo" = "xyes" +then : + printf "%s\n" "#define HAVE_GETADDRINFO 1" >>confdefs.h fi - if test "x$ax_cv_have_getaddrinfo" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_GETADDRINFO 1" >>confdefs.h + if test "x$ax_cv_have_getaddrinfo" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_GETADDRINFO 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname_r" >&5 -$as_echo_n "checking for gethostbyname_r... " >&6; } -if ${ax_cv_have_gethostbyname_r+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyname_r" >&5 +printf %s "checking for gethostbyname_r... " >&6; } +if test ${ax_cv_have_gethostbyname_r+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12872,7 +13938,7 @@ else #include int -main () +main (void) { gethostbyname_r (NULL, NULL, NULL, 0, NULL, NULL); @@ -12881,55 +13947,61 @@ gethostbyname_r (NULL, NULL, NULL, 0, NULL, NULL); return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ax_cv_have_gethostbyname_r=yes -else +else $as_nop ax_cv_have_gethostbyname_r=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gethostbyname_r" >&5 -$as_echo "$ax_cv_have_gethostbyname_r" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gethostbyname_r" >&5 +printf "%s\n" "$ax_cv_have_gethostbyname_r" >&6; } -if test "x$ax_cv_have_gethostbyname_r" = "xyes"; then : - $as_echo "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h +if test "x$ax_cv_have_gethostbyname_r" = "xyes" +then : + printf "%s\n" "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h fi - if test "x$ax_cv_have_gethostbyname_r" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_GETHOSTBYNAME_R 1" >>confdefs.h + if test "x$ax_cv_have_gethostbyname_r" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_GETHOSTBYNAME_R 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettid" >&5 -$as_echo_n "checking for gettid... " >&6; } -if ${ax_cv_have_gettid+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettid" >&5 +printf %s "checking for gettid... " >&6; } +if test ${ax_cv_have_gettid+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int -main () +main (void) { int rv = syscall(SYS_gettid); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ax_cv_have_gettid=yes -else +else $as_nop ax_cv_have_gettid=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gettid" >&5 -$as_echo "$ax_cv_have_gettid" >&6; } - if test "x$ax_cv_have_gettid" = "xyes"; then : - $as_echo "#define LOG4CPLUS_HAVE_GETTID 1" >>confdefs.h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gettid" >&5 +printf "%s\n" "$ax_cv_have_gettid" >&6; } + if test "x$ax_cv_have_gettid" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_GETTID 1" >>confdefs.h fi @@ -12945,11 +14017,12 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. @@ -12959,11 +14032,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12975,11 +14052,11 @@ esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12988,11 +14065,12 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. @@ -13002,11 +14080,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13018,11 +14100,11 @@ esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then @@ -13030,8 +14112,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 PKG_CONFIG=$ac_pt_PKG_CONFIG @@ -13043,42 +14125,44 @@ fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi # Check whether --with-qt was given. -if test "${with_qt+set}" = set; then : +if test ${with_qt+y} +then : withval=$with_qt; log4cplus_check_yesno_func "${withval}" "--with-qt" -else +else $as_nop with_qt=no fi -if test "x$with_qt" = "xyes"; then : +if test "x$with_qt" = "xyes" +then : pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for QT" >&5 -$as_echo_n "checking for QT... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for QT" >&5 +printf %s "checking for QT... " >&6; } if test -n "$QT_CFLAGS"; then pkg_cv_QT_CFLAGS="$QT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "QtCore >= 4.0.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_QT_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13092,10 +14176,10 @@ if test -n "$QT_LIBS"; then pkg_cv_QT_LIBS="$QT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "QtCore >= 4.0.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_QT_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13109,8 +14193,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13136,10 +14220,10 @@ Alternatively, you may set the environment variables QT_CFLAGS and QT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -13153,11 +14237,11 @@ See \`config.log' for more details" "$LINENO" 5; } else QT_CFLAGS=$pkg_cv_QT_CFLAGS QT_LIBS=$pkg_cv_QT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi -else +else $as_nop QT_CFLAGS= QT_LIBS= fi @@ -13175,28 +14259,30 @@ fi # Check whether --with-qt5 was given. -if test "${with_qt5+set}" = set; then : +if test ${with_qt5+y} +then : withval=$with_qt5; log4cplus_check_yesno_func "${withval}" "--with-qt5" -else +else $as_nop with_qt5=no fi -if test "x$with_qt5" = "xyes"; then : +if test "x$with_qt5" = "xyes" +then : pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for QT5" >&5 -$as_echo_n "checking for QT5... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for QT5" >&5 +printf %s "checking for QT5... " >&6; } if test -n "$QT5_CFLAGS"; then pkg_cv_QT5_CFLAGS="$QT5_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_QT5_CFLAGS=`$PKG_CONFIG --cflags "Qt5Core >= 5.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13210,10 +14296,10 @@ if test -n "$QT5_LIBS"; then pkg_cv_QT5_LIBS="$QT5_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_QT5_LIBS=`$PKG_CONFIG --libs "Qt5Core >= 5.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13227,8 +14313,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13254,10 +14340,10 @@ Alternatively, you may set the environment variables QT5_CFLAGS and QT5_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -13271,11 +14357,11 @@ See \`config.log' for more details" "$LINENO" 5; } else QT5_CFLAGS=$pkg_cv_QT5_CFLAGS QT5_LIBS=$pkg_cv_QT5_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi -else +else $as_nop QT5_CFLAGS= QT5_LIBS= fi @@ -13295,29 +14381,33 @@ with_swig=no # Check whether --with-python was given. -if test "${with_python+set}" = set; then : +if test ${with_python+y} +then : withval=$with_python; log4cplus_check_yesno_func "${withval}" "--with-python" - if test "x$with_python" = "xyes"; then : + if test "x$with_python" = "xyes" +then : with_swig=yes fi -else +else $as_nop with_python=no fi -if test "x$with_swig" = "xyes"; then : +if test "x$with_swig" = "xyes" +then : # Ubuntu has swig 2.0 as /usr/bin/swig2.0 for ac_prog in swig swig2.0 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SWIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_SWIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $SWIG in [\\/]* | ?:[\\/]*) ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path. @@ -13327,11 +14417,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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_path_SWIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_SWIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13343,11 +14437,11 @@ esac fi SWIG=$ac_cv_path_SWIG if test -n "$SWIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5 -$as_echo "$SWIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5 +printf "%s\n" "$SWIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13357,11 +14451,11 @@ done if test -z "$SWIG" ; then as_fn_error $? "SWIG is required to build." "$LINENO" 5 elif test -n "2.0.0" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5 -$as_echo_n "checking SWIG version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5 +printf %s "checking SWIG version... " >&6; } swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5 -$as_echo "$swig_version" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5 +printf "%s\n" "$swig_version" >&6; } if test -n "$swig_version" ; then # Calculate the required version number components required=2.0.0 @@ -13404,21 +14498,21 @@ $as_echo "$swig_version" >&6; } \+ $available_minor \* 100 \+ $available_patch` if test $available_swig_vernum -lt $required_swig_vernum; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version." >&5 -$as_echo "$as_me: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version." >&5 +printf "%s\n" "$as_me: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version." >&2;} SWIG='' as_fn_error $? "SWIG is required to build." "$LINENO" 5 else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5 -$as_echo_n "checking for SWIG library... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5 +printf %s "checking for SWIG library... " >&6; } SWIG_LIB=`$SWIG -swiglib` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5 -$as_echo "$SWIG_LIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5 +printf "%s\n" "$SWIG_LIB" >&6; } : fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5 -$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5 +printf "%s\n" "$as_me: WARNING: cannot determine SWIG version" >&2;} SWIG='' as_fn_error $? "SWIG is required to build." "$LINENO" 5 fi @@ -13441,7 +14535,8 @@ else fi -if test "x$with_python" = "xyes"; then : +if test "x$with_python" = "xyes" +then : @@ -13450,8 +14545,8 @@ if test "x$with_python" = "xyes"; then : if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.3" >&5 -$as_echo_n "checking whether $PYTHON version is >= 2.3... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.3" >&5 +printf %s "checking whether $PYTHON version is >= 2.3... " >&6; } prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. @@ -13465,23 +14560,25 @@ sys.exit(sys.hexversion < minverhex)" ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + (exit $ac_status); } +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } as_fn_error $? "Python interpreter is too old" "$LINENO" 5 fi am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.3" >&5 -$as_echo_n "checking for a Python interpreter with version >= 2.3... " >&6; } -if ${am_cv_pathless_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.3" >&5 +printf %s "checking for a Python interpreter with version >= 2.3... " >&6; } +if test ${am_cv_pathless_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break @@ -13498,24 +14595,26 @@ sys.exit(sys.hexversion < minverhex)" ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then : + (exit $ac_status); } +then : break fi done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 -$as_echo "$am_cv_pathless_PYTHON" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +printf "%s\n" "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. @@ -13525,11 +14624,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13541,11 +14644,11 @@ esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13559,15 +14662,16 @@ fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 -$as_echo_n "checking for $am_display_PYTHON version... " >&6; } -if ${am_cv_python_version+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +printf %s "checking for $am_display_PYTHON version... " >&6; } +if test ${am_cv_python_version+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[:2])"` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 -$as_echo "$am_cv_python_version" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +printf "%s\n" "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version @@ -13578,15 +14682,16 @@ $as_echo "$am_cv_python_version" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 -$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } -if ${am_cv_python_platform+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +printf %s "checking for $am_display_PYTHON platform... " >&6; } +if test ${am_cv_python_platform+y} +then : + printf %s "(cached) " >&6 +else $as_nop am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 -$as_echo "$am_cv_python_platform" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +printf "%s\n" "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform @@ -13611,11 +14716,12 @@ except ImportError: pass" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 -$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } -if ${am_cv_python_pythondir+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +printf %s "checking for $am_display_PYTHON script directory... " >&6; } +if test ${am_cv_python_pythondir+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$prefix" = xNONE then am_py_prefix=$ac_default_prefix @@ -13646,8 +14752,8 @@ sys.stdout.write(sitedir)"` esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 -$as_echo "$am_cv_python_pythondir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +printf "%s\n" "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir @@ -13655,11 +14761,12 @@ $as_echo "$am_cv_python_pythondir" >&6; } pkgpythondir=\${pythondir}/$PACKAGE - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 -$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } -if ${am_cv_python_pyexecdir+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +printf %s "checking for $am_display_PYTHON extension module directory... " >&6; } +if test ${am_cv_python_pyexecdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$exec_prefix" = xNONE then am_py_exec_prefix=$am_py_prefix @@ -13690,8 +14797,8 @@ sys.stdout.write(sitedir)"` esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 -$as_echo "$am_cv_python_pyexecdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +printf "%s\n" "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir @@ -13711,11 +14818,12 @@ $as_echo "$am_cv_python_pyexecdir" >&6; } # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args. set dummy python$PYTHON_VERSION; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. @@ -13725,11 +14833,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13741,11 +14853,11 @@ esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13757,17 +14869,17 @@ fi # # Check for a version of Python >= 2.1.0 # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5 -$as_echo_n "checking for a version of Python >= '2.1.0'... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5 +printf %s "checking for a version of Python >= '2.1.0'... " >&6; } ac_supports_python_ver=`$PYTHON -c "import sys; \ ver = sys.version.split ()[0]; \ print (ver >= '2.1.0')"` if test "$ac_supports_python_ver" != "True"; then if test -z "$PYTHON_NOVERSIONCHECK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? " This version of the AC_PYTHON_DEVEL macro doesn't work properly with versions of Python before @@ -13779,29 +14891,29 @@ to something else than an empty string. See \`config.log' for more details" "$LINENO" 5; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5 -$as_echo "skip at user request" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5 +printf "%s\n" "skip at user request" >&6; } fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi # # if the macro parameter ``version'' is set, honour it # if test -n ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5 -$as_echo_n "checking for a version of Python ... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5 +printf %s "checking for a version of Python ... " >&6; } ac_supports_python_ver=`$PYTHON -c "import sys; \ ver = sys.version.split ()[0]; \ print (ver )"` if test "$ac_supports_python_ver" = "True"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } as_fn_error $? "this package requires Python . If you have it installed, but it isn't the default Python interpreter in your system path, please pass the PYTHON_VERSION @@ -13814,15 +14926,15 @@ variable to configure. See \`\`configure --help'' for reference. # # Check if you have distutils, else fail # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 -$as_echo_n "checking for the distutils Python package... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 +printf %s "checking for the distutils Python package... " >&6; } ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` if test -z "$ac_distutils_result"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } as_fn_error $? "cannot import Python module \"distutils\". Please check your Python installation. The error was: $ac_distutils_result" "$LINENO" 5 @@ -13832,8 +14944,8 @@ $ac_distutils_result" "$LINENO" 5 # # Check for Python include path # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5 -$as_echo_n "checking for Python include path... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5 +printf %s "checking for Python include path... " >&6; } if test -z "$PYTHON_CPPFLAGS"; then python_path=`$PYTHON -c "import distutils.sysconfig; \ print (distutils.sysconfig.get_python_inc ());"` @@ -13848,15 +14960,15 @@ $as_echo_n "checking for Python include path... " >&6; } fi PYTHON_CPPFLAGS=$python_path fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5 -$as_echo "$PYTHON_CPPFLAGS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5 +printf "%s\n" "$PYTHON_CPPFLAGS" >&6; } # # Check for Python library path # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5 -$as_echo_n "checking for Python library path... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5 +printf %s "checking for Python library path... " >&6; } if test -z "$PYTHON_LDFLAGS"; then # (makes two attempts to ensure we've got a version number # from the interpreter) @@ -13881,9 +14993,7 @@ EOD` # Make the versioning information available to the compiler -cat >>confdefs.h <<_ACEOF -#define HAVE_PYTHON "$ac_python_version" -_ACEOF +printf "%s\n" "#define HAVE_PYTHON \"$ac_python_version\"" >>confdefs.h # First, the library directory: @@ -13932,56 +15042,56 @@ EOD` " "$LINENO" 5 fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5 -$as_echo "$PYTHON_LDFLAGS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5 +printf "%s\n" "$PYTHON_LDFLAGS" >&6; } # # Check for site packages # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5 -$as_echo_n "checking for Python site-packages path... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5 +printf %s "checking for Python site-packages path... " >&6; } if test -z "$PYTHON_SITE_PKG"; then PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ print (distutils.sysconfig.get_python_lib(0,0));"` fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5 -$as_echo "$PYTHON_SITE_PKG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5 +printf "%s\n" "$PYTHON_SITE_PKG" >&6; } # # libraries which must be linked in when embedding # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5 -$as_echo_n "checking python extra libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5 +printf %s "checking python extra libraries... " >&6; } if test -z "$PYTHON_EXTRA_LIBS"; then PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \ conf = distutils.sysconfig.get_config_var; \ print (conf('LIBS') + ' ' + conf('SYSLIBS'))"` fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5 -$as_echo "$PYTHON_EXTRA_LIBS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5 +printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; } # # linking flags needed when embedding # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5 -$as_echo_n "checking python extra linking flags... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5 +printf %s "checking python extra linking flags... " >&6; } if test -z "$PYTHON_EXTRA_LDFLAGS"; then PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \ conf = distutils.sysconfig.get_config_var; \ print (conf('LINKFORSHARED'))"` fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5 -$as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5 +printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; } # # final check to see if everything compiles alright # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5 -$as_echo_n "checking consistency of all components of python development environment... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5 +printf %s "checking consistency of all components of python development environment... " >&6; } # save current global flags ac_save_LIBS="$LIBS" ac_save_CPPFLAGS="$CPPFLAGS" @@ -13998,7 +15108,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu #include int -main () +main (void) { Py_Initialize(); ; @@ -14006,12 +15116,13 @@ Py_Initialize(); } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : pythonexists=yes -else +else $as_nop pythonexists=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -14023,12 +15134,12 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu CPPFLAGS="$ac_save_CPPFLAGS" LIBS="$ac_save_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5 -$as_echo "$pythonexists" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5 +printf "%s\n" "$pythonexists" >&6; } if test ! "x$pythonexists" = "xyes"; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? " Could not link test program to Python. Maybe the main Python library has been installed in some non-standard library path. If so, pass it to configure, @@ -14067,8 +15178,8 @@ fi case `pwd` in *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac @@ -14088,6 +15199,7 @@ macro_revision='2.4.6' + ltmain=$ac_aux_dir/ltmain.sh # Backslashify metacharacters that are still active within @@ -14111,8 +15223,8 @@ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then @@ -14138,12 +15250,12 @@ func_echo_all () } case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; esac @@ -14159,11 +15271,12 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" @@ -14177,10 +15290,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED @@ -14189,13 +15307,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -14223,8 +15341,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed @@ -14241,11 +15359,12 @@ Xsed="$SED -e 1s/^X//" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else @@ -14256,10 +15375,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP @@ -14268,13 +15392,13 @@ case `"$ac_path_FGREP" --version 2>&1` in ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -14303,8 +15427,8 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" @@ -14329,17 +15453,18 @@ test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw @@ -14368,15 +15493,16 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do @@ -14405,18 +15531,19 @@ fi LD=$lt_cv_path_LD if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -14439,11 +15566,12 @@ with_gnu_ld=$lt_cv_prog_gnu_ld -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM @@ -14493,8 +15621,8 @@ else : ${lt_cv_path_NM=no} fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else @@ -14507,11 +15635,12 @@ else do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else @@ -14519,11 +15648,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -14534,11 +15667,11 @@ fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -14551,11 +15684,12 @@ if test -z "$DUMPBIN"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else @@ -14563,11 +15697,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -14578,11 +15716,11 @@ fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -14594,8 +15732,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 DUMPBIN=$ac_ct_DUMPBIN @@ -14623,11 +15761,12 @@ test -z "$NM" && NM=nm -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) @@ -14643,26 +15782,27 @@ else fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop i=0 teststring=ABCD @@ -14789,11 +15929,11 @@ else fi if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len @@ -14837,11 +15977,12 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $host in *-*-mingw* ) case $build in @@ -14877,18 +16018,19 @@ esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in @@ -14904,22 +16046,23 @@ esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_reload_flag='-r' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; @@ -14952,11 +16095,12 @@ esac 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else @@ -14964,11 +16108,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -14979,11 +16127,11 @@ fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -14992,11 +16140,12 @@ if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else @@ -15004,11 +16153,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15019,11 +16172,11 @@ fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then @@ -15031,8 +16184,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 OBJDUMP=$ac_ct_OBJDUMP @@ -15048,11 +16201,12 @@ test -z "$OBJDUMP" && OBJDUMP=objdump -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' @@ -15248,8 +16402,8 @@ os2*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no @@ -15293,11 +16447,12 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else @@ -15305,11 +16460,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15320,11 +16479,11 @@ fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15333,11 +16492,12 @@ if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else @@ -15345,11 +16505,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15360,11 +16524,11 @@ fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then @@ -15372,8 +16536,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 DLLTOOL=$ac_ct_DLLTOOL @@ -15390,11 +16554,12 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in @@ -15417,8 +16582,8 @@ cygwin* | mingw* | pw32* | cegcc*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -15433,11 +16598,12 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else @@ -15445,11 +16611,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15460,11 +16630,11 @@ fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15477,11 +16647,12 @@ if test -z "$AR"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else @@ -15489,11 +16660,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15504,11 +16679,11 @@ fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15520,8 +16695,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 AR=$ac_ct_AR @@ -15541,30 +16716,32 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. @@ -15572,7 +16749,7 @@ if ac_fn_cxx_try_compile "$LINENO"; then : { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ @@ -15581,11 +16758,11 @@ if ac_fn_cxx_try_compile "$LINENO"; then : rm -f conftest.* libconftest.a fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= @@ -15602,11 +16779,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -15614,11 +16792,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15629,11 +16811,11 @@ fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15642,11 +16824,12 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -15654,11 +16837,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15669,11 +16856,11 @@ fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -15681,8 +16868,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 STRIP=$ac_ct_STRIP @@ -15701,11 +16888,12 @@ test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else @@ -15713,11 +16901,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15728,11 +16920,11 @@ fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15741,11 +16933,12 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else @@ -15753,11 +16946,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15768,11 +16965,11 @@ fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -15780,8 +16977,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 RANLIB=$ac_ct_RANLIB @@ -15870,11 +17067,12 @@ compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] @@ -16026,14 +17224,14 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -16102,7 +17300,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi @@ -16137,11 +17335,11 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi # Response file support. @@ -16187,13 +17385,14 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : +if test ${with_sysroot+y} +then : withval=$with_sysroot; -else +else $as_nop with_sysroot=no fi @@ -16211,24 +17410,25 @@ case $with_sysroot in #( no|'') ;; #( *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} @@ -16239,10 +17439,15 @@ if test -z "$lt_DD"; then for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ @@ -16262,15 +17467,16 @@ fi rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= @@ -16281,8 +17487,8 @@ fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -16305,7 +17511,8 @@ func_cc_basename () } # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : +if test ${enable_libtool_lock+y} +then : enableval=$enable_libtool_lock; fi @@ -16321,7 +17528,7 @@ ia64-*-hpux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) @@ -16341,7 +17548,7 @@ ia64-*-hpux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + 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 @@ -16379,7 +17586,7 @@ mips64*-*linux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + 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 @@ -16420,7 +17627,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) @@ -16483,11 +17690,12 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -16498,19 +17706,20 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_cc_needs_belf=yes -else +else $as_nop lt_cv_cc_needs_belf=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -16519,8 +17728,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS @@ -16533,7 +17742,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) @@ -16570,11 +17779,12 @@ need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else @@ -16582,11 +17792,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16597,11 +17811,11 @@ fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -16610,11 +17824,12 @@ if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else @@ -16622,11 +17837,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16637,11 +17856,11 @@ fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then @@ -16649,8 +17868,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL @@ -16660,11 +17879,12 @@ else fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out @@ -16674,8 +17894,8 @@ else fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi @@ -16690,11 +17910,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else @@ -16702,11 +17923,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16717,11 +17942,11 @@ fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -16730,11 +17955,12 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else @@ -16742,11 +17968,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16757,11 +17987,11 @@ fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then @@ -16769,8 +17999,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 DSYMUTIL=$ac_ct_DSYMUTIL @@ -16782,11 +18012,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else @@ -16794,11 +18025,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16809,11 +18044,11 @@ fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -16822,11 +18057,12 @@ if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else @@ -16834,11 +18070,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16849,11 +18089,11 @@ fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then @@ -16861,8 +18101,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 NMEDIT=$ac_ct_NMEDIT @@ -16874,11 +18114,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else @@ -16886,11 +18127,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16901,11 +18146,11 @@ fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -16914,11 +18159,12 @@ if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else @@ -16926,11 +18172,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16941,11 +18191,11 @@ fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then @@ -16953,8 +18203,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 LIPO=$ac_ct_LIPO @@ -16966,11 +18216,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else @@ -16978,11 +18229,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -16993,11 +18248,11 @@ fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -17006,11 +18261,12 @@ if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else @@ -17018,11 +18274,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17033,11 +18293,11 @@ fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then @@ -17045,8 +18305,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 OTOOL=$ac_ct_OTOOL @@ -17058,11 +18318,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else @@ -17070,11 +18331,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17085,11 +18350,11 @@ fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -17098,11 +18363,12 @@ if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else @@ -17110,11 +18376,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17125,11 +18395,11 @@ fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then @@ -17137,8 +18407,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 OTOOL64=$ac_ct_OTOOL64 @@ -17173,11 +18443,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override @@ -17206,14 +18477,15 @@ else rm -f conftest.* fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym @@ -17222,31 +18494,33 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_ld_exported_symbols_list=yes -else +else $as_nop lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} @@ -17274,8 +18548,8 @@ _LT_EOF rm -rf conftest.dSYM fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; @@ -17346,19 +18620,14 @@ func_munge_path_list () esac } -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi -done - func_stripname_cnf () @@ -17381,11 +18650,12 @@ case $host in if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AS+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else @@ -17393,11 +18663,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17408,11 +18682,11 @@ fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +printf "%s\n" "$AS" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -17421,11 +18695,12 @@ if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_AS+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else @@ -17433,11 +18708,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17448,11 +18727,11 @@ fi fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +printf "%s\n" "$ac_ct_AS" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_AS" = x; then @@ -17460,8 +18739,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 AS=$ac_ct_AS @@ -17473,11 +18752,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else @@ -17485,11 +18765,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17500,11 +18784,11 @@ fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -17513,11 +18797,12 @@ if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else @@ -17525,11 +18810,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17540,11 +18829,11 @@ fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then @@ -17552,8 +18841,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 DLLTOOL=$ac_ct_DLLTOOL @@ -17565,11 +18854,12 @@ 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else @@ -17577,11 +18867,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17592,11 +18886,11 @@ fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -17605,11 +18899,12 @@ if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ 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_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else @@ -17617,11 +18912,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + 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 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -17632,11 +18931,11 @@ fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then @@ -17644,8 +18943,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ 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 OBJDUMP=$ac_ct_OBJDUMP @@ -17675,7 +18974,8 @@ test -z "$OBJDUMP" && OBJDUMP=objdump # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : +if test ${enable_static+y} +then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; @@ -17693,7 +18993,7 @@ if test "${enable_static+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_static=no fi @@ -17705,7 +19005,8 @@ fi # Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : +if test ${with_pic+y} +then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; @@ -17722,7 +19023,7 @@ if test "${with_pic+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop pic_mode=yes fi @@ -17739,7 +19040,8 @@ fi # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : +if test ${enable_shared+y} +then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -17757,7 +19059,7 @@ if test "${enable_shared+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_shared=yes fi @@ -17772,7 +19074,8 @@ fi # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : +if test ${enable_fast_install+y} +then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; @@ -17790,7 +19093,7 @@ if test "${enable_fast_install+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_fast_install=yes fi @@ -17804,11 +19107,12 @@ fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : +if test ${with_aix_soname+y} +then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; @@ -17817,18 +19121,19 @@ if test "${with_aix_soname+set}" = set; then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', @@ -17910,11 +19215,12 @@ if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then @@ -17925,17 +19231,15 @@ else fi rmdir .libs 2>/dev/null fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF +printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h @@ -17981,11 +19285,12 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -18034,11 +19339,11 @@ fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -18047,11 +19352,12 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -18100,11 +19406,11 @@ fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -18189,11 +19495,12 @@ if test yes = "$GCC"; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -18224,8 +19531,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -18582,26 +19889,28 @@ case $host_os in ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -18632,8 +19941,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in @@ -18661,11 +19970,12 @@ fi # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -18689,8 +19999,8 @@ else LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : @@ -18704,11 +20014,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -18751,19 +20062,20 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -18806,8 +20118,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -18815,19 +20127,19 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -18839,8 +20151,8 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= @@ -19395,21 +20707,23 @@ _LT_EOF if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -19424,7 +20738,7 @@ if ac_fn_c_try_link "$LINENO"; then : lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -19448,21 +20762,23 @@ fi if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -19477,7 +20793,7 @@ if ac_fn_c_try_link "$LINENO"; then : lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -19728,11 +21044,12 @@ fi # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" @@ -19756,8 +21073,8 @@ else LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' @@ -19797,28 +21114,30 @@ fi # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_irix_exported_symbol=yes -else +else $as_nop lt_cv_irix_exported_symbol=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi @@ -20098,8 +21417,8 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld @@ -20135,18 +21454,19 @@ x|xyes) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -20164,7 +21484,7 @@ else if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no @@ -20178,8 +21498,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac @@ -20338,8 +21658,8 @@ esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in @@ -20900,9 +22220,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir @@ -20912,19 +22233,21 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : lt_cv_shlibpath_overrides_runpath=yes fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir @@ -21156,8 +22479,8 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" @@ -21278,8 +22601,8 @@ configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || @@ -21303,8 +22626,8 @@ else # directories. hardcode_action=unsupported fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then @@ -21348,11 +22671,12 @@ else darwin*) # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21361,32 +22685,31 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else +else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= @@ -21406,14 +22729,16 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : +if test "x$ac_cv_func_shl_load" = xyes +then : lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21422,41 +22747,42 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char shl_load (); int -main () +main (void) { return shl_load (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_shl_load=yes -else +else $as_nop ac_cv_lib_dld_shl_load=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else +else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : +if test "x$ac_cv_func_dlopen" = xyes +then : lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21465,37 +22791,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21504,37 +22830,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_svld_dlopen=yes -else +else $as_nop ac_cv_lib_svld_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21543,30 +22869,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dld_link (); int -main () +main (void) { return dld_link (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_dld_link=yes -else +else $as_nop ac_cv_lib_dld_dld_link=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi @@ -21605,11 +22930,12 @@ fi save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else @@ -21688,7 +23014,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -21706,16 +23032,17 @@ rm -fr conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else @@ -21794,7 +23121,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -21812,8 +23139,8 @@ rm -fr conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS @@ -21851,13 +23178,13 @@ fi striplib= old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } +{ 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" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in @@ -21865,16 +23192,16 @@ else if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi @@ -21891,13 +23218,13 @@ fi # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and @@ -21921,15 +23248,15 @@ $as_echo_n "checking whether to build shared libraries... " >&6; } fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } @@ -21951,36 +23278,32 @@ ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -21992,10 +23315,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -22005,7 +23329,8 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi @@ -22017,29 +23342,24 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif +#include Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -22051,10 +23371,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -22064,11 +23385,12 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -22204,17 +23526,18 @@ cc_basename=$func_cc_basename_result # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw @@ -22243,15 +23566,16 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do @@ -22280,18 +23604,19 @@ fi LD=$lt_cv_path_LD if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -22357,8 +23682,8 @@ with_gnu_ld=$lt_cv_prog_gnu_ld fi # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) @@ -22496,21 +23821,23 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -22525,7 +23852,7 @@ if ac_fn_cxx_try_link "$LINENO"; then : lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib @@ -22550,21 +23877,23 @@ fi if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -22579,7 +23908,7 @@ if ac_fn_cxx_try_link "$LINENO"; then : lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib @@ -23430,8 +24759,8 @@ fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no GCC_CXX=$GXX @@ -23469,7 +24798,7 @@ esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. @@ -23950,26 +25279,28 @@ case $host_os in ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -24000,8 +25331,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then case $lt_prog_compiler_pic_CXX in @@ -24023,11 +25354,12 @@ fi # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -24051,8 +25383,8 @@ else LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then : @@ -24063,11 +25395,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest @@ -24110,16 +25443,17 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest @@ -24162,8 +25496,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } @@ -24171,19 +25505,19 @@ $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -24192,8 +25526,8 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' @@ -24232,8 +25566,8 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld @@ -24260,18 +25594,19 @@ x|xyes) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -24289,7 +25624,7 @@ else if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no @@ -24303,8 +25638,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac @@ -24373,8 +25708,8 @@ esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' @@ -24862,9 +26197,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir @@ -24874,19 +26210,21 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +if ac_fn_cxx_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : lt_cv_shlibpath_overrides_runpath=yes fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir @@ -25118,8 +26456,8 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" @@ -25183,8 +26521,8 @@ configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || @@ -25208,8 +26546,8 @@ else # directories. hardcode_action_CXX=unsupported fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } if test relink = "$hardcode_action_CXX" || test yes = "$inherit_rpath_CXX"; then @@ -25322,8 +26660,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -25353,15 +26691,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -25375,8 +26713,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -25393,7 +26731,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -25404,14 +26742,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -25481,8 +26819,8 @@ fi ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -25505,14 +26843,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -25522,46 +26862,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -25570,13 +26910,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -25585,8 +26918,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -25598,30 +26935,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -25634,13 +26951,14 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -25667,18 +26985,20 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -25690,12 +27010,13 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -25726,7 +27047,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -25748,6 +27069,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -25761,6 +27086,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -25802,7 +27133,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -25811,7 +27142,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -25874,7 +27205,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by log4cplus $as_me 3.0.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -25936,14 +27267,16 @@ $config_commands Report bugs to the package provider." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ log4cplus config.status 3.0.0 -configured by $0, generated by GNU Autoconf 2.69, +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -25983,15 +27316,15 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -25999,7 +27332,7 @@ do --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -26008,7 +27341,7 @@ do as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -26036,7 +27369,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -26050,7 +27383,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -26058,6 +27391,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # +ac_cv_exeext="$ac_cv_exeext" AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" @@ -26477,9 +27811,9 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -26815,7 +28149,7 @@ do esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -26823,17 +28157,17 @@ do # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -26850,7 +28184,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -26874,9 +28208,9 @@ $as_echo X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -26938,8 +28272,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -26983,9 +28317,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -27001,20 +28335,20 @@ which seems to be undefined. Please make sure it is defined" >&2;} # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -27034,7 +28368,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | +printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -27054,8 +28388,8 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -27064,7 +28398,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} "tests/atconfig":C) cat >tests/atconfig </dev/null || -$as_echo X"$am_mf" | +printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -27138,7 +28474,7 @@ $as_echo X"$am_mf" | $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | +printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -27163,10 +28499,12 @@ $as_echo X/"$am_mf" | (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } @@ -27723,6 +29061,7 @@ _LT_EOF esac + ltmain=$ac_aux_dir/ltmain.sh @@ -27925,7 +29264,8 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + diff --git a/configure.ac b/configure.ac index 9ea7f9808..017ae847d 100644 --- a/configure.ac +++ b/configure.ac @@ -451,7 +451,8 @@ AS_CASE(["$target_os"], dnl Checks for header files. -AC_HEADER_STDC +AC_CHECK_INCLUDES_DEFAULT +AC_PROG_EGREP LOG4CPLUS_CHECK_HEADER([sys/types.h], [LOG4CPLUS_HAVE_SYS_TYPES_H]) LOG4CPLUS_CHECK_HEADER([sys/socket.h], [LOG4CPLUS_HAVE_SYS_SOCKET_H]) diff --git a/depcomp b/depcomp index 65cbf7093..6b391623c 100755 --- a/depcomp +++ b/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # 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 diff --git a/include/Makefile.in b/include/Makefile.in index f5fac5080..bcb9447af 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -344,6 +344,7 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff --git a/install-sh b/install-sh index 8175c640f..ec298b537 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ posix_mkdir= # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ Options: --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ do dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -301,22 +325,6 @@ do if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -326,52 +334,49 @@ do fi posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ do then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -411,7 +416,7 @@ do prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -451,7 +456,18 @@ do trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -477,6 +493,13 @@ do then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -491,9 +514,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff --git a/missing b/missing index 625aeb118..8d0eaad25 100755 --- a/missing +++ b/missing @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/mkinstalldirs b/mkinstalldirs index 36aa90953..c364f3d5e 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2018-03-07.03; # UTC +scriptversion=2020-07-26.22; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -92,6 +92,8 @@ case $dirmode in *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "umask 22" + umask 22 echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else @@ -104,6 +106,9 @@ case $dirmode in ;; esac +echo "umask 22" +umask 22 + for file do case $file in @@ -132,21 +137,16 @@ do if test ! -d "$pathcomp"; then errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi fi fi pathcomp=$pathcomp/ done + + if test ! -z "$dirmode"; then + echo "chmod $dirmode $file" + chmod "$dirmode" "$file" || errstatus=$? + fi done exit $errstatus diff --git a/py-compile b/py-compile index 9f8baf7ab..e56d98d6e 100755 --- a/py-compile +++ b/py-compile @@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2018-03-07.03; # UTC +scriptversion=2020-02-19.23; # UTC -# Copyright (C) 2000-2018 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # 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 @@ -115,8 +115,27 @@ else filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi +python_major=$($PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q') +if test -z "$python_major"; then + echo "$me: could not determine $PYTHON major version, guessing 3" >&2 + python_major=3 +fi + +# The old way to import libraries was deprecated. +if test "$python_major" -le 2; then + import_lib=imp + import_test="hasattr(imp, 'get_tag')" + import_call=imp.cache_from_source + import_arg2=', False' # needed in one call and not the other +else + import_lib=importlib + import_test="hasattr(sys.implementation, 'cache_tag')" + import_call=importlib.util.cache_from_source + import_arg2= +fi + $PYTHON -c " -import sys, os, py_compile, imp +import sys, os, py_compile, $import_lib files = '''$files''' @@ -129,15 +148,15 @@ for file in files.split(): continue sys.stdout.write(file) sys.stdout.flush() - if hasattr(imp, 'get_tag'): - py_compile.compile(filepath, imp.cache_from_source(filepath), path) + if $import_test: + py_compile.compile(filepath, $import_call(filepath), path) else: py_compile.compile(filepath, filepath + 'c', path) sys.stdout.write('\n')" || exit $? # this will fail for python < 1.5, but that doesn't matter ... $PYTHON -O -c " -import sys, os, py_compile, imp +import sys, os, py_compile, $import_lib # pypy does not use .pyo optimization if hasattr(sys, 'pypy_translation_info'): @@ -153,8 +172,8 @@ for file in files.split(): continue sys.stdout.write(file) sys.stdout.flush() - if hasattr(imp, 'get_tag'): - py_compile.compile(filepath, imp.cache_from_source(filepath, False), path) + if $import_test: + py_compile.compile(filepath, $import_call(filepath$import_arg2), path) else: py_compile.compile(filepath, filepath + 'o', path) sys.stdout.write('\n')" 2>/dev/null || : diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index b4f5543f1..2833355b5 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,7 +1,7 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.16.1 -export AUTOCONF_SUFFIX=-2.69 +export AUTOMAKE_SUFFIX=-1.16.3 +export AUTOCONF_SUFFIX=-2.71 export LIBTOOL_SUFFIX=-2.4.6 export ACLOCAL="aclocal${AUTOMAKE_SUFFIX}" diff --git a/tests/testsuite b/tests/testsuite index e51dfa27d..a415fea51 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -1,7 +1,7 @@ #! /bin/sh -# Generated from tests/testsuite.at by GNU Autoconf 2.69. +# Generated from testsuite.at by GNU Autoconf 2.71. # -# Copyright (C) 2009-2012 Free Software Foundation, Inc. +# Copyright (C) 2009-2017, 2020-2021 Free Software Foundation, Inc. # # This test suite is free software; the Free Software Foundation gives # unlimited permission to copy, distribute and modify it. @@ -11,14 +11,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -28,46 +30,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -76,13 +78,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -91,8 +86,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -104,40 +103,22 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -157,42 +138,53 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -200,14 +192,21 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -225,18 +224,19 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -263,6 +263,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -280,6 +281,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -294,7 +303,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -303,7 +312,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -342,12 +351,13 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -359,12 +369,13 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -382,9 +393,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -405,7 +416,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -455,7 +466,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -469,6 +480,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -482,6 +497,13 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -583,8 +605,6 @@ at_change_dir=false # Whether to enable colored test results. at_color=auto -# List of the tested programs. -at_tested='' # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # numerical order. @@ -665,7 +685,7 @@ at_help_all="1;headers.at:1;separate compilation of log4cplus/appender.h;headers 73;unit_tests.at:1;unit_tests;unit-tests; " # List of the all the test groups. -at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` +at_groups_all=`printf "%s\n" "$at_help_all" | sed 's/;.*//'` # at_fn_validate_ranges NAME... # ----------------------------- @@ -677,7 +697,7 @@ at_fn_validate_ranges () do eval at_value=\$$at_grp if test $at_value -lt 1 || test $at_value -gt 73; then - $as_echo "invalid test group: $at_value" >&2 + printf "%s\n" "invalid test group: $at_value" >&2 exit 1 fi case $at_value in @@ -705,8 +725,6 @@ do *) at_optarg= ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $at_option in --help | -h ) at_help_p=: @@ -765,7 +783,7 @@ do [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) at_range_start=`echo $at_option |tr -d X-` at_fn_validate_ranges at_range_start - at_range=`$as_echo "$at_groups_all" | \ + at_range=`printf "%s\n" "$at_groups_all" | \ sed -ne '/^'$at_range_start'$/,$p'` as_fn_append at_groups "$at_range$as_nl" ;; @@ -773,7 +791,7 @@ do -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) at_range_end=`echo $at_option |tr -d X-` at_fn_validate_ranges at_range_end - at_range=`$as_echo "$at_groups_all" | \ + at_range=`printf "%s\n" "$at_groups_all" | \ sed -ne '1,/^'$at_range_end'$/p'` as_fn_append at_groups "$at_range$as_nl" ;; @@ -792,7 +810,7 @@ do at_range_start=$at_tmp fi at_fn_validate_ranges at_range_start at_range_end - at_range=`$as_echo "$at_groups_all" | \ + at_range=`printf "%s\n" "$at_groups_all" | \ sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` as_fn_append at_groups "$at_range$as_nl" ;; @@ -846,11 +864,11 @@ do ;; esac # It is on purpose that we match the test group titles too. - at_groups_selected=`$as_echo "$at_groups_selected" | + at_groups_selected=`printf "%s\n" "$at_groups_selected" | grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` done # Smash the keywords. - at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` + at_groups_selected=`printf "%s\n" "$at_groups_selected" | sed 's/;.*//'` as_fn_append at_groups "$at_groups_selected$as_nl" ;; --recheck) @@ -864,21 +882,22 @@ do '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$at_envvar'" ;; esac - at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + at_value=`printf "%s\n" "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` # Export now, but save eval for later and for debug scripts. export $at_envvar as_fn_append at_debug_args " $at_envvar='$at_value'" ;; - *) $as_echo "$as_me: invalid option: $at_option" >&2 - $as_echo "Try \`$0 --help' for more information." >&2 + *) printf "%s\n" "$as_me: invalid option: $at_option" >&2 + printf "%s\n" "Try \`$0 --help' for more information." >&2 exit 1 ;; esac done # Verify our last option didn't require an argument -if test -n "$at_prev"; then : +if test -n "$at_prev" +then : as_fn_error $? "\`$at_prev' requires an argument" fi @@ -902,7 +921,7 @@ else as_fn_append at_groups "$at_oldfails$as_nl" fi # Sort the tests, removing duplicates. - at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` + at_groups=`printf "%s\n" "$at_groups" | sort -nu | sed '/^$/d'` fi if test x"$at_color" = xalways \ @@ -981,7 +1000,7 @@ log4cplus test suite: log4cplus test groups: _ATEOF # Pass an empty line as separator between selected groups and help. - $as_echo "$at_groups$as_nl$as_nl$at_help_all" | + printf "%s\n" "$at_groups$as_nl$as_nl$at_help_all" | awk 'NF == 1 && FS != ";" { selected[$ 1] = 1 next @@ -1015,10 +1034,10 @@ _ATEOF exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (log4cplus)" && + printf "%s\n" "$as_me (log4cplus)" && cat <<\_ATEOF || at_write_fail=1 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This test suite is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ATEOF @@ -1131,13 +1150,17 @@ fi # For embedded test suites, AUTOTEST_PATH is relative to the top level # of the package. Then expand it into build/src parts, since users # may create executables in both places. -AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` +AUTOTEST_PATH=`printf "%s\n" "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` at_path= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $AUTOTEST_PATH $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR case $as_dir in [\\/]* | ?:[\\/]* ) @@ -1167,7 +1190,11 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $at_path do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac test -d "$as_dir" || continue case $as_dir in [\\/]* | ?:[\\/]* ) ;; @@ -1197,23 +1224,23 @@ fi exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## -------------------------------- ## +printf "%s\n" "## -------------------------------- ## ## log4cplus test suite: log4cplus. ## ## -------------------------------- ##" { - $as_echo "## -------------------------------- ## + printf "%s\n" "## -------------------------------- ## ## log4cplus test suite: log4cplus. ## ## -------------------------------- ##" echo - $as_echo "$as_me: command line was:" - $as_echo " \$ $0 $at_cli_args" + printf "%s\n" "$as_me: command line was:" + printf "%s\n" " \$ $0 $at_cli_args" echo # If ChangeLog exists, list a few lines in case it might help determining # the exact version. if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then - $as_echo "## ---------- ## + printf "%s\n" "## ---------- ## ## ChangeLog. ## ## ---------- ##" echo @@ -1250,8 +1277,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -1262,7 +1293,7 @@ IFS=$as_save_IFS for at_file in atconfig atlocal do test -r $at_file || continue - $as_echo "$as_me: $at_file:" + printf "%s\n" "$as_me: $at_file:" sed 's/^/| /' $at_file echo done @@ -1286,7 +1317,7 @@ at_fn_banner () if test -z "$at_banner_text"; then $at_first || echo else - $as_echo "$as_nl$at_banner_text$as_nl" + printf "%s\n" "$as_nl$at_banner_text$as_nl" fi } # at_fn_banner @@ -1297,7 +1328,7 @@ at_fn_banner () at_fn_check_prepare_notrace () { $at_trace_echo "Not enabling shell tracing (command contains $1)" - $as_echo "$2" >"$at_check_line_file" + printf "%s\n" "$2" >"$at_check_line_file" at_check_trace=: at_check_filter=: : >"$at_stdout"; : >"$at_stderr" } @@ -1308,7 +1339,7 @@ at_fn_check_prepare_notrace () # command. at_fn_check_prepare_trace () { - $as_echo "$1" >"$at_check_line_file" + printf "%s\n" "$1" >"$at_check_line_file" at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace : >"$at_stdout"; : >"$at_stderr" } @@ -1345,7 +1376,7 @@ at_fn_filter_trace () at_fn_log_failure () { for file - do $as_echo "$file:"; sed 's/^/> /' "$file"; done + do printf "%s\n" "$file:"; sed 's/^/> /' "$file"; done echo 1 > "$at_status_file" exit 1 } @@ -1359,7 +1390,7 @@ at_fn_check_skip () { case $1 in 99) echo 99 > "$at_status_file"; at_failed=: - $as_echo "$2: hard failure"; exit 99;; + printf "%s\n" "$2: hard failure"; exit 99;; 77) echo 77 > "$at_status_file"; exit 77;; esac } @@ -1376,8 +1407,8 @@ at_fn_check_status () $1 ) ;; 77) echo 77 > "$at_status_file"; exit 77;; 99) echo 99 > "$at_status_file"; at_failed=: - $as_echo "$3: hard failure"; exit 99;; - *) $as_echo "$3: exit code was $2, expected $1" + printf "%s\n" "$3: hard failure"; exit 99;; + *) printf "%s\n" "$3: exit code was $2, expected $1" at_failed=:;; esac } @@ -1409,9 +1440,9 @@ at_fn_create_debugging_script () { { echo "#! /bin/sh" && - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && - $as_echo "cd '$at_dir'" && - $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'test ${ZSH_VERSION+y} && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + printf "%s\n" "cd '$at_dir'" && + printf "%s\n" "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && echo 'exit 1' } >"$at_group_dir/run" && chmod +x "$at_group_dir/run" @@ -1421,50 +1452,14 @@ at_fn_create_debugging_script () ## End of autotest shell functions. ## ## -------------------------------- ## { - $as_echo "## ---------------- ## -## Tested programs. ## -## ---------------- ##" - echo -} >&5 - -# Report what programs are being tested. -for at_program in : $at_tested -do - test "$at_program" = : && continue - case $at_program in - [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; - * ) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -f "$as_dir/$at_program" && break - done -IFS=$as_save_IFS - - at_program_=$as_dir/$at_program ;; - esac - if test -f "$at_program_"; then - { - $as_echo "$at_srcdir/testsuite.at:6: $at_program_ --version" - "$at_program_" --version &5 2>&1 - else - as_fn_error $? "cannot find $at_program" "$LINENO" 5 - fi -done - -{ - $as_echo "## ------------------ ## + printf "%s\n" "## ------------------ ## ## Running the tests. ## ## ------------------ ##" } >&5 at_start_date=`date` at_start_time=`date +%s 2>/dev/null` -$as_echo "$as_me: starting at: $at_start_date" >&5 +printf "%s\n" "$as_me: starting at: $at_start_date" >&5 # Create the master directory if it doesn't already exist. as_dir="$at_suite_dir"; as_fn_mkdir_p || @@ -1575,12 +1570,13 @@ at_fn_group_prepare () # under the shell's notion of the current directory. at_group_dir=$at_suite_dir/$at_group_normalized at_group_log=$at_group_dir/$as_me.log - if test -d "$at_group_dir"; then + if test -d "$at_group_dir" +then find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* fi || - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 -$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +printf "%s\n" "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} # Be tolerant if the above `rm' was not able to remove the directory. as_dir="$at_group_dir"; as_fn_mkdir_p @@ -1610,7 +1606,7 @@ at_fn_group_banner () *) at_desc_line="$1: " ;; esac as_fn_append at_desc_line "$3$4" - $at_quiet $as_echo_n "$at_desc_line" + $at_quiet printf %s "$at_desc_line" echo "# -*- compilation -*-" >> "$at_group_log" } @@ -1629,11 +1625,11 @@ at_fn_group_postprocess () run. This means that test suite is improperly designed. Please report this failure to . _ATEOF - $as_echo "$at_setup_line" >"$at_check_line_file" + printf "%s\n" "$at_setup_line" >"$at_check_line_file" at_status=99 fi - $at_verbose $as_echo_n "$at_group. $at_setup_line: " - $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + $at_verbose printf %s "$at_group. $at_setup_line: " + printf %s "$at_group. $at_setup_line: " >> "$at_group_log" case $at_xfail:$at_status in yes:0) at_msg="UNEXPECTED PASS" @@ -1669,10 +1665,10 @@ _ATEOF echo "$at_res" > "$at_job_dir/$at_res" # In parallel mode, output the summary line only afterwards. if test $at_jobs -ne 1 && test -n "$at_verbose"; then - $as_echo "$at_desc_line $at_color$at_msg$at_std" + printf "%s\n" "$at_desc_line $at_color$at_msg$at_std" else # Make sure there is a separator even with long titles. - $as_echo " $at_color$at_msg$at_std" + printf "%s\n" " $at_color$at_msg$at_std" fi at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" case $at_status in @@ -1685,8 +1681,8 @@ _ATEOF at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' rm -f "$at_times_file" fi - $as_echo "$at_log_msg" >> "$at_group_log" - $as_echo "$at_log_msg" >&5 + printf "%s\n" "$at_log_msg" >> "$at_group_log" + printf "%s\n" "$at_log_msg" >&5 # Cleanup the group directory, unless the user wants the files # or the success was unexpected. @@ -1707,7 +1703,7 @@ _ATEOF # Upon failure, include the log into the testsuite's global # log. The failure message is written in the group log. It # is later included in the global log. - $as_echo "$at_log_msg" >> "$at_group_log" + printf "%s\n" "$at_log_msg" >> "$at_group_log" # Upon failure, keep the group directory for autopsy, and create # the debugging script. With -e, do not start any further tests. @@ -1750,8 +1746,8 @@ for at_signal in 1 2 15; do at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` set x $at_signame test 1 -gt 2 && at_signame=$at_signal - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 -$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +printf "%s\n" "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} as_fn_arith 128 + $at_signal && exit_status=$as_val as_fn_exit $exit_status' $at_signal done @@ -1772,7 +1768,7 @@ then done if test -n "$at_pids"; then at_sig=TSTP - test "${TMOUT+set}" = set && at_sig=STOP + test ${TMOUT+y} && at_sig=STOP kill -$at_sig $at_pids 2>/dev/null fi kill -STOP $$ @@ -1780,7 +1776,7 @@ then echo # Turn jobs into a list of numbers, starting from 1. - at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` + at_joblist=`printf "%s\n" "$at_groups" | sed -n 1,${at_jobs}p` set X $at_joblist shift @@ -1804,8 +1800,8 @@ then at_fn_test $at_group && . "$at_test_source" then :; else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 -$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +printf "%s\n" "$as_me: WARNING: unable to parse test group: $at_group" >&2;} at_failed=: fi at_fn_group_postprocess @@ -1843,8 +1839,8 @@ else if cd "$at_group_dir" && at_fn_test $at_group && . "$at_test_source"; then :; else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 -$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +printf "%s\n" "$as_me: WARNING: unable to parse test group: $at_group" >&2;} at_failed=: fi at_fn_group_postprocess @@ -1883,7 +1879,7 @@ rm -rf "$at_helper_dir" # Compute the duration of the suite. at_stop_date=`date` at_stop_time=`date +%s 2>/dev/null` -$as_echo "$as_me: ending at: $at_stop_date" >&5 +printf "%s\n" "$as_me: ending at: $at_stop_date" >&5 case $at_start_time,$at_stop_time in [0-9]*,[0-9]*) as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val @@ -1892,18 +1888,18 @@ case $at_start_time,$at_stop_time in as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" - $as_echo "$as_me: test suite duration: $at_duration" >&5 + printf "%s\n" "$as_me: test suite duration: $at_duration" >&5 ;; esac echo -$as_echo "## ------------- ## +printf "%s\n" "## ------------- ## ## Test results. ## ## ------------- ##" echo { echo - $as_echo "## ------------- ## + printf "%s\n" "## ------------- ## ## Test results. ## ## ------------- ##" echo @@ -1983,7 +1979,7 @@ else echo "ERROR: $at_result" >&5 { echo - $as_echo "## ------------------------ ## + printf "%s\n" "## ------------------------ ## ## Summary of the failures. ## ## ------------------------ ##" @@ -2004,7 +2000,7 @@ else echo fi if test $at_fail_count != 0; then - $as_echo "## ---------------------- ## + printf "%s\n" "## ---------------------- ## ## Detailed failed tests. ## ## ---------------------- ##" echo @@ -2043,10 +2039,14 @@ _ASBOX else at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" fi - $as_echo "Please send $at_msg and all information you think might help: + at_msg1a=${at_xpass_list:+', '} + at_msg1=$at_fail_list${at_fail_list:+" failed$at_msg1a"} + at_msg2=$at_xpass_list${at_xpass_list:+" passed unexpectedly"} + + printf "%s\n" "Please send $at_msg and all information you think might help: To: - Subject: [log4cplus] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [log4cplus] $as_me: $at_msg1$at_msg2 You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may @@ -2065,15 +2065,15 @@ at_fn_group_banner 1 'headers.at:1' \ "separate compilation of log4cplus/appender.h" " " 1 at_xfail=no ( - $as_echo "1. $at_setup_line: testing $at_desc ..." + printf "%s\n" "1. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/appender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/appender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/appender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/appender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/appender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2086,7 +2086,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2100,10 +2100,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2130,15 +2131,15 @@ at_fn_group_banner 2 'headers.at:1' \ "separate compilation of log4cplus/asyncappender.h" "" 1 at_xfail=no ( - $as_echo "2. $at_setup_line: testing $at_desc ..." + printf "%s\n" "2. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/asyncappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/asyncappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/asyncappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/asyncappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/asyncappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2151,7 +2152,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2165,10 +2166,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2195,15 +2197,15 @@ at_fn_group_banner 3 'headers.at:1' \ "separate compilation of log4cplus/clfsappender.h" "" 1 at_xfail=no ( - $as_echo "3. $at_setup_line: testing $at_desc ..." + printf "%s\n" "3. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/clfsappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/clfsappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/clfsappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/clfsappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/clfsappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2216,7 +2218,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2230,10 +2232,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2260,15 +2263,15 @@ at_fn_group_banner 4 'headers.at:1' \ "separate compilation of log4cplus/clogger.h" " " 1 at_xfail=no ( - $as_echo "4. $at_setup_line: testing $at_desc ..." + printf "%s\n" "4. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/clogger.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/clogger.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/clogger.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/clogger.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/clogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2281,7 +2284,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2295,10 +2298,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2325,15 +2329,15 @@ at_fn_group_banner 5 'headers.at:1' \ "separate compilation of log4cplus/config.hxx" " " 1 at_xfail=no ( - $as_echo "5. $at_setup_line: testing $at_desc ..." + printf "%s\n" "5. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/config.hxx\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/config.hxx\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/config.hxx\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/config.hxx\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/config.hxx\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2346,7 +2350,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2360,10 +2364,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2390,15 +2395,15 @@ at_fn_group_banner 6 'headers.at:1' \ "separate compilation of log4cplus/configurator.h" "" 1 at_xfail=no ( - $as_echo "6. $at_setup_line: testing $at_desc ..." + printf "%s\n" "6. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/configurator.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/configurator.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/configurator.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/configurator.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/configurator.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2411,7 +2416,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2425,10 +2430,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2455,15 +2461,15 @@ at_fn_group_banner 7 'headers.at:1' \ "separate compilation of log4cplus/consoleappender.h" "" 1 at_xfail=no ( - $as_echo "7. $at_setup_line: testing $at_desc ..." + printf "%s\n" "7. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/consoleappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/consoleappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/consoleappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/consoleappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/consoleappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2476,7 +2482,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2490,10 +2496,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2520,15 +2527,15 @@ at_fn_group_banner 8 'headers.at:1' \ "separate compilation of log4cplus/fileappender.h" "" 1 at_xfail=no ( - $as_echo "8. $at_setup_line: testing $at_desc ..." + printf "%s\n" "8. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/fileappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/fileappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/fileappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fileappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/fileappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2541,7 +2548,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2555,10 +2562,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2585,15 +2593,15 @@ at_fn_group_banner 9 'headers.at:1' \ "separate compilation of log4cplus/fstreams.h" " " 1 at_xfail=no ( - $as_echo "9. $at_setup_line: testing $at_desc ..." + printf "%s\n" "9. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/fstreams.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/fstreams.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/fstreams.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fstreams.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/fstreams.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2606,7 +2614,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2620,10 +2628,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2650,15 +2659,15 @@ at_fn_group_banner 10 'headers.at:1' \ "separate compilation of log4cplus/hierarchy.h" " " 1 at_xfail=no ( - $as_echo "10. $at_setup_line: testing $at_desc ..." + printf "%s\n" "10. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/hierarchy.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/hierarchy.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/hierarchy.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchy.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchy.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2671,7 +2680,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2685,10 +2694,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2715,15 +2725,15 @@ at_fn_group_banner 11 'headers.at:1' \ "separate compilation of log4cplus/hierarchylocker.h" "" 1 at_xfail=no ( - $as_echo "11. $at_setup_line: testing $at_desc ..." + printf "%s\n" "11. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/hierarchylocker.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/hierarchylocker.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/hierarchylocker.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchylocker.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchylocker.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2736,7 +2746,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2750,10 +2760,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2780,15 +2791,15 @@ at_fn_group_banner 12 'headers.at:1' \ "separate compilation of log4cplus/initializer.h" "" 1 at_xfail=no ( - $as_echo "12. $at_setup_line: testing $at_desc ..." + printf "%s\n" "12. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/initializer.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/initializer.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/initializer.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/initializer.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/initializer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2801,7 +2812,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2815,10 +2826,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2845,15 +2857,15 @@ at_fn_group_banner 13 'headers.at:1' \ "separate compilation of log4cplus/layout.h" " " 1 at_xfail=no ( - $as_echo "13. $at_setup_line: testing $at_desc ..." + printf "%s\n" "13. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/layout.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/layout.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/layout.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/layout.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/layout.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2866,7 +2878,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2880,10 +2892,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2910,15 +2923,15 @@ at_fn_group_banner 14 'headers.at:1' \ "separate compilation of log4cplus/log4cplus.h" " " 1 at_xfail=no ( - $as_echo "14. $at_setup_line: testing $at_desc ..." + printf "%s\n" "14. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/log4cplus.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/log4cplus.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/log4cplus.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4cplus.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4cplus.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2931,7 +2944,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2945,10 +2958,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -2975,15 +2989,15 @@ at_fn_group_banner 15 'headers.at:1' \ "separate compilation of log4cplus/log4judpappender.h" "" 1 at_xfail=no ( - $as_echo "15. $at_setup_line: testing $at_desc ..." + printf "%s\n" "15. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/log4judpappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/log4judpappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/log4judpappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4judpappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4judpappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2996,7 +3010,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3010,10 +3024,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3040,15 +3055,15 @@ at_fn_group_banner 16 'headers.at:1' \ "separate compilation of log4cplus/logger.h" " " 1 at_xfail=no ( - $as_echo "16. $at_setup_line: testing $at_desc ..." + printf "%s\n" "16. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/logger.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/logger.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/logger.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/logger.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/logger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3061,7 +3076,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3075,10 +3090,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3105,15 +3121,15 @@ at_fn_group_banner 17 'headers.at:1' \ "separate compilation of log4cplus/loggingmacros.h" "" 1 at_xfail=no ( - $as_echo "17. $at_setup_line: testing $at_desc ..." + printf "%s\n" "17. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/loggingmacros.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/loggingmacros.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/loggingmacros.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loggingmacros.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/loggingmacros.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3126,7 +3142,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3140,10 +3156,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3170,15 +3187,15 @@ at_fn_group_banner 18 'headers.at:1' \ "separate compilation of log4cplus/loglevel.h" " " 1 at_xfail=no ( - $as_echo "18. $at_setup_line: testing $at_desc ..." + printf "%s\n" "18. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/loglevel.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/loglevel.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/loglevel.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loglevel.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/loglevel.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3191,7 +3208,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3205,10 +3222,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3235,15 +3253,15 @@ at_fn_group_banner 19 'headers.at:1' \ "separate compilation of log4cplus/mdc.h" " " 1 at_xfail=no ( - $as_echo "19. $at_setup_line: testing $at_desc ..." + printf "%s\n" "19. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/mdc.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/mdc.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/mdc.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/mdc.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/mdc.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3256,7 +3274,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3270,10 +3288,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3300,15 +3319,15 @@ at_fn_group_banner 20 'headers.at:1' \ "separate compilation of log4cplus/msttsappender.h" "" 1 at_xfail=no ( - $as_echo "20. $at_setup_line: testing $at_desc ..." + printf "%s\n" "20. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/msttsappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/msttsappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/msttsappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/msttsappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/msttsappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3321,7 +3340,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3335,10 +3354,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3365,15 +3385,15 @@ at_fn_group_banner 21 'headers.at:1' \ "separate compilation of log4cplus/ndc.h" " " 1 at_xfail=no ( - $as_echo "21. $at_setup_line: testing $at_desc ..." + printf "%s\n" "21. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/ndc.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/ndc.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/ndc.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/ndc.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/ndc.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3386,7 +3406,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3400,10 +3420,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3430,15 +3451,15 @@ at_fn_group_banner 22 'headers.at:1' \ "separate compilation of log4cplus/nteventlogappender.h" "" 1 at_xfail=no ( - $as_echo "22. $at_setup_line: testing $at_desc ..." + printf "%s\n" "22. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/nteventlogappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/nteventlogappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/nteventlogappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nteventlogappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/nteventlogappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3451,7 +3472,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3465,10 +3486,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3495,15 +3517,15 @@ at_fn_group_banner 23 'headers.at:1' \ "separate compilation of log4cplus/nullappender.h" "" 1 at_xfail=no ( - $as_echo "23. $at_setup_line: testing $at_desc ..." + printf "%s\n" "23. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/nullappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/nullappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/nullappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nullappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/nullappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3516,7 +3538,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3530,10 +3552,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3560,15 +3583,15 @@ at_fn_group_banner 24 'headers.at:1' \ "separate compilation of log4cplus/qt4debugappender.h" "" 1 at_xfail=no ( - $as_echo "24. $at_setup_line: testing $at_desc ..." + printf "%s\n" "24. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/qt4debugappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/qt4debugappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/qt4debugappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/qt4debugappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/qt4debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3581,7 +3604,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3595,10 +3618,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3625,15 +3649,15 @@ at_fn_group_banner 25 'headers.at:1' \ "separate compilation of log4cplus/socketappender.h" "" 1 at_xfail=no ( - $as_echo "25. $at_setup_line: testing $at_desc ..." + printf "%s\n" "25. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/socketappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/socketappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3646,7 +3670,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3660,10 +3684,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3690,15 +3715,15 @@ at_fn_group_banner 26 'headers.at:1' \ "separate compilation of log4cplus/streams.h" " " 1 at_xfail=no ( - $as_echo "26. $at_setup_line: testing $at_desc ..." + printf "%s\n" "26. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/streams.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/streams.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3711,7 +3736,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3725,10 +3750,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3755,15 +3781,15 @@ at_fn_group_banner 27 'headers.at:1' \ "separate compilation of log4cplus/syslogappender.h" "" 1 at_xfail=no ( - $as_echo "27. $at_setup_line: testing $at_desc ..." + printf "%s\n" "27. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/syslogappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/syslogappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3776,7 +3802,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3790,10 +3816,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3820,15 +3847,15 @@ at_fn_group_banner 28 'headers.at:1' \ "separate compilation of log4cplus/tchar.h" " " 1 at_xfail=no ( - $as_echo "28. $at_setup_line: testing $at_desc ..." + printf "%s\n" "28. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/tchar.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tchar.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3841,7 +3868,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3855,10 +3882,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3885,15 +3913,15 @@ at_fn_group_banner 29 'headers.at:1' \ "separate compilation of log4cplus/tracelogger.h" "" 1 at_xfail=no ( - $as_echo "29. $at_setup_line: testing $at_desc ..." + printf "%s\n" "29. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/tracelogger.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tracelogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3906,7 +3934,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3920,10 +3948,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3950,15 +3979,15 @@ at_fn_group_banner 30 'headers.at:1' \ "separate compilation of log4cplus/tstring.h" " " 1 at_xfail=no ( - $as_echo "30. $at_setup_line: testing $at_desc ..." + printf "%s\n" "30. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/tstring.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tstring.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3971,7 +4000,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -3985,10 +4014,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4015,15 +4045,15 @@ at_fn_group_banner 31 'headers.at:1' \ "separate compilation of log4cplus/version.h" " " 1 at_xfail=no ( - $as_echo "31. $at_setup_line: testing $at_desc ..." + printf "%s\n" "31. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/version.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/version.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/version.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/version.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/version.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4036,7 +4066,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4050,10 +4080,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4080,15 +4111,15 @@ at_fn_group_banner 32 'headers.at:1' \ "separate compilation of log4cplus/win32consoleappender.h" "" 1 at_xfail=no ( - $as_echo "32. $at_setup_line: testing $at_desc ..." + printf "%s\n" "32. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/win32consoleappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32consoleappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4101,7 +4132,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4115,10 +4146,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4145,15 +4177,15 @@ at_fn_group_banner 33 'headers.at:1' \ "separate compilation of log4cplus/win32debugappender.h" "" 1 at_xfail=no ( - $as_echo "33. $at_setup_line: testing $at_desc ..." + printf "%s\n" "33. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/win32debugappender.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4166,7 +4198,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4180,10 +4212,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4210,15 +4243,15 @@ at_fn_group_banner 34 'headers.at:1' \ "separate compilation of log4cplus/helpers/appenderattachableimpl.h" "" 1 at_xfail=no ( - $as_echo "34. $at_setup_line: testing $at_desc ..." + printf "%s\n" "34. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4231,7 +4264,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4245,10 +4278,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4275,15 +4309,15 @@ at_fn_group_banner 35 'headers.at:1' \ "separate compilation of log4cplus/helpers/connectorthread.h" "" 1 at_xfail=no ( - $as_echo "35. $at_setup_line: testing $at_desc ..." + printf "%s\n" "35. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4296,7 +4330,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4310,10 +4344,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4340,15 +4375,15 @@ at_fn_group_banner 36 'headers.at:1' \ "separate compilation of log4cplus/helpers/fileinfo.h" "" 1 at_xfail=no ( - $as_echo "36. $at_setup_line: testing $at_desc ..." + printf "%s\n" "36. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4361,7 +4396,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4375,10 +4410,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4405,15 +4441,15 @@ at_fn_group_banner 37 'headers.at:1' \ "separate compilation of log4cplus/helpers/lockfile.h" "" 1 at_xfail=no ( - $as_echo "37. $at_setup_line: testing $at_desc ..." + printf "%s\n" "37. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/lockfile.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/lockfile.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4426,7 +4462,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4440,10 +4476,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4470,15 +4507,15 @@ at_fn_group_banner 38 'headers.at:1' \ "separate compilation of log4cplus/helpers/loglog.h" "" 1 at_xfail=no ( - $as_echo "38. $at_setup_line: testing $at_desc ..." + printf "%s\n" "38. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/loglog.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/loglog.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4491,7 +4528,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4505,10 +4542,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4535,15 +4573,15 @@ at_fn_group_banner 39 'headers.at:1' \ "separate compilation of log4cplus/helpers/pointer.h" "" 1 at_xfail=no ( - $as_echo "39. $at_setup_line: testing $at_desc ..." + printf "%s\n" "39. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/pointer.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/pointer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4556,7 +4594,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4570,10 +4608,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4600,15 +4639,15 @@ at_fn_group_banner 40 'headers.at:1' \ "separate compilation of log4cplus/helpers/property.h" "" 1 at_xfail=no ( - $as_echo "40. $at_setup_line: testing $at_desc ..." + printf "%s\n" "40. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/property.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/property.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4621,7 +4660,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4635,10 +4674,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4665,15 +4705,15 @@ at_fn_group_banner 41 'headers.at:1' \ "separate compilation of log4cplus/helpers/queue.h" "" 1 at_xfail=no ( - $as_echo "41. $at_setup_line: testing $at_desc ..." + printf "%s\n" "41. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/queue.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/queue.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4686,7 +4726,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4700,10 +4740,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4730,15 +4771,15 @@ at_fn_group_banner 42 'headers.at:1' \ "separate compilation of log4cplus/helpers/snprintf.h" "" 1 at_xfail=no ( - $as_echo "42. $at_setup_line: testing $at_desc ..." + printf "%s\n" "42. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/snprintf.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/snprintf.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4751,7 +4792,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4765,10 +4806,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4795,15 +4837,15 @@ at_fn_group_banner 43 'headers.at:1' \ "separate compilation of log4cplus/helpers/socket.h" "" 1 at_xfail=no ( - $as_echo "43. $at_setup_line: testing $at_desc ..." + printf "%s\n" "43. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/socket.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socket.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4816,7 +4858,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4830,10 +4872,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4860,15 +4903,15 @@ at_fn_group_banner 44 'headers.at:1' \ "separate compilation of log4cplus/helpers/socketbuffer.h" "" 1 at_xfail=no ( - $as_echo "44. $at_setup_line: testing $at_desc ..." + printf "%s\n" "44. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4881,7 +4924,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4895,10 +4938,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4925,15 +4969,15 @@ at_fn_group_banner 45 'headers.at:1' \ "separate compilation of log4cplus/helpers/stringhelper.h" "" 1 at_xfail=no ( - $as_echo "45. $at_setup_line: testing $at_desc ..." + printf "%s\n" "45. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4946,7 +4990,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4960,10 +5004,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -4990,15 +5035,15 @@ at_fn_group_banner 46 'headers.at:1' \ "separate compilation of log4cplus/helpers/timehelper.h" "" 1 at_xfail=no ( - $as_echo "46. $at_setup_line: testing $at_desc ..." + printf "%s\n" "46. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/helpers/timehelper.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/timehelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5011,7 +5056,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5025,10 +5070,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5055,15 +5101,15 @@ at_fn_group_banner 47 'headers.at:1' \ "separate compilation of log4cplus/spi/appenderattachable.h" "" 1 at_xfail=no ( - $as_echo "47. $at_setup_line: testing $at_desc ..." + printf "%s\n" "47. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5076,7 +5122,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5090,10 +5136,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5120,15 +5167,15 @@ at_fn_group_banner 48 'headers.at:1' \ "separate compilation of log4cplus/spi/factory.h" "" 1 at_xfail=no ( - $as_echo "48. $at_setup_line: testing $at_desc ..." + printf "%s\n" "48. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/factory.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/factory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5141,7 +5188,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5155,10 +5202,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5185,15 +5233,15 @@ at_fn_group_banner 49 'headers.at:1' \ "separate compilation of log4cplus/spi/filter.h" " " 1 at_xfail=no ( - $as_echo "49. $at_setup_line: testing $at_desc ..." + printf "%s\n" "49. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/filter.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/filter.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5206,7 +5254,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5220,10 +5268,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5250,15 +5299,15 @@ at_fn_group_banner 50 'headers.at:1' \ "separate compilation of log4cplus/spi/loggerfactory.h" "" 1 at_xfail=no ( - $as_echo "50. $at_setup_line: testing $at_desc ..." + printf "%s\n" "50. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5271,7 +5320,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5285,10 +5334,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5315,15 +5365,15 @@ at_fn_group_banner 51 'headers.at:1' \ "separate compilation of log4cplus/spi/loggerimpl.h" "" 1 at_xfail=no ( - $as_echo "51. $at_setup_line: testing $at_desc ..." + printf "%s\n" "51. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5336,7 +5386,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5350,10 +5400,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5380,15 +5431,15 @@ at_fn_group_banner 52 'headers.at:1' \ "separate compilation of log4cplus/spi/loggingevent.h" "" 1 at_xfail=no ( - $as_echo "52. $at_setup_line: testing $at_desc ..." + printf "%s\n" "52. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/loggingevent.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggingevent.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5401,7 +5452,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5415,10 +5466,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5445,15 +5497,15 @@ at_fn_group_banner 53 'headers.at:1' \ "separate compilation of log4cplus/spi/objectregistry.h" "" 1 at_xfail=no ( - $as_echo "53. $at_setup_line: testing $at_desc ..." + printf "%s\n" "53. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/objectregistry.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/objectregistry.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5466,7 +5518,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5480,10 +5532,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5510,15 +5563,15 @@ at_fn_group_banner 54 'headers.at:1' \ "separate compilation of log4cplus/spi/rootlogger.h" "" 1 at_xfail=no ( - $as_echo "54. $at_setup_line: testing $at_desc ..." + printf "%s\n" "54. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/spi/rootlogger.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/rootlogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5531,7 +5584,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5545,10 +5598,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5575,15 +5629,15 @@ at_fn_group_banner 55 'headers.at:1' \ "separate compilation of log4cplus/thread/syncprims-pub-impl.h" "" 1 at_xfail=no ( - $as_echo "55. $at_setup_line: testing $at_desc ..." + printf "%s\n" "55. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5596,7 +5650,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5610,10 +5664,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5640,15 +5695,15 @@ at_fn_group_banner 56 'headers.at:1' \ "separate compilation of log4cplus/thread/syncprims.h" "" 1 at_xfail=no ( - $as_echo "56. $at_setup_line: testing $at_desc ..." + printf "%s\n" "56. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/thread/syncprims.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5661,7 +5716,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5675,10 +5730,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5705,15 +5761,15 @@ at_fn_group_banner 57 'headers.at:1' \ "separate compilation of log4cplus/thread/threads.h" "" 1 at_xfail=no ( - $as_echo "57. $at_setup_line: testing $at_desc ..." + printf "%s\n" "57. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/headers.at:1: \$as_echo \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" -at_fn_check_prepare_dynamic "$as_echo \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" "headers.at:1" -( $at_check_trace; $as_echo "#include \"log4cplus/thread/threads.h\"">test.cxx +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/threads.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5726,7 +5782,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5740,10 +5796,11 @@ $at_failed && at_fn_log_failure \ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" ( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5770,13 +5827,13 @@ at_fn_group_banner 58 'appender_test.at:1' \ "appender_test" " " 2 at_xfail=no ( - $as_echo "58. $at_setup_line: testing $at_desc ..." + printf "%s\n" "58. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/appender_test.at:4: cp -f \"\${abs_srcdir}/appender_test/expout\" ." +printf "%s\n" "$at_srcdir/appender_test.at:4: cp -f \"\${abs_srcdir}/appender_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "appender_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/appender_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5789,7 +5846,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/appender_test.at:5: \"\${abs_top_builddir}/appender_test\" 2>&1" +printf "%s\n" "$at_srcdir/appender_test.at:5: \"\${abs_top_builddir}/appender_test\" 2>&1" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "appender_test.at:5" ( $at_check_trace; "${abs_top_builddir}/appender_test" 2>&1 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5803,10 +5860,11 @@ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/appender_test.at:7: \"\${abs_top_builddir}/appender_testU\" 2>&1" +printf "%s\n" "$at_srcdir/appender_test.at:7: \"\${abs_top_builddir}/appender_testU\" 2>&1" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "appender_test.at:7" ( $at_check_trace; "${abs_top_builddir}/appender_testU" 2>&1 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5831,16 +5889,16 @@ at_fn_group_banner 59 'configandwatch_test.at:1' \ "configandwatch_test" " " 2 at_xfail=no ( - $as_echo "59. $at_setup_line: testing $at_desc ..." + printf "%s\n" "59. $at_setup_line: testing $at_desc ..." $at_traceon -$as_echo "configandwatch_test.at:4" >"$at_check_line_file" +printf "%s\n" "configandwatch_test.at:4" >"$at_check_line_file" (test "x$ENABLE_THREADS" != "xyes") \ && at_fn_check_skip 77 "$at_srcdir/configandwatch_test.at:4" { set +x -$as_echo "$at_srcdir/configandwatch_test.at:5: cp -f \"\${abs_builddir}/configandwatch_test/log4cplus.properties\" ." +printf "%s\n" "$at_srcdir/configandwatch_test.at:5: cp -f \"\${abs_builddir}/configandwatch_test/log4cplus.properties\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configandwatch_test.at:5" ( $at_check_trace; cp -f "${abs_builddir}/configandwatch_test/log4cplus.properties" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5853,7 +5911,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/configandwatch_test.at:6: \"\${abs_top_builddir}/configandwatch_test\"" +printf "%s\n" "$at_srcdir/configandwatch_test.at:6: \"\${abs_top_builddir}/configandwatch_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configandwatch_test.at:6" ( $at_check_trace; "${abs_top_builddir}/configandwatch_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5866,7 +5924,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/configandwatch_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/configandwatch_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "configandwatch_test.at:7" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5880,10 +5938,11 @@ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/configandwatch_test.at:9: \"\${abs_top_builddir}/configandwatch_testU\"" +printf "%s\n" "$at_srcdir/configandwatch_test.at:9: \"\${abs_top_builddir}/configandwatch_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configandwatch_test.at:9" ( $at_check_trace; "${abs_top_builddir}/configandwatch_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5896,7 +5955,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/configandwatch_test.at:9: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/configandwatch_test.at:9: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "configandwatch_test.at:9" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5922,13 +5981,13 @@ at_fn_group_banner 60 'customloglevel_test.at:1' \ "customloglevel_test" " " 2 at_xfail=no ( - $as_echo "60. $at_setup_line: testing $at_desc ..." + printf "%s\n" "60. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/customloglevel_test.at:4: cp -f \"\${abs_srcdir}/customloglevel_test/expout\" ." +printf "%s\n" "$at_srcdir/customloglevel_test.at:4: cp -f \"\${abs_srcdir}/customloglevel_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "customloglevel_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/customloglevel_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5941,7 +6000,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/customloglevel_test.at:5: \"\${abs_top_builddir}/customloglevel_test\"" +printf "%s\n" "$at_srcdir/customloglevel_test.at:5: \"\${abs_top_builddir}/customloglevel_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "customloglevel_test.at:5" ( $at_check_trace; "${abs_top_builddir}/customloglevel_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5954,10 +6013,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/customloglevel_test.at:6: \"\${abs_top_builddir}/customloglevel_testU\"" +printf "%s\n" "$at_srcdir/customloglevel_test.at:6: \"\${abs_top_builddir}/customloglevel_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "customloglevel_test.at:6" ( $at_check_trace; "${abs_top_builddir}/customloglevel_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -5983,13 +6043,13 @@ at_fn_group_banner 61 'fileappender_test.at:1' \ "fileappender_test" " " 2 at_xfail=no ( - $as_echo "61. $at_setup_line: testing $at_desc ..." + printf "%s\n" "61. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/fileappender_test.at:4: cp -f \"\${abs_srcdir}/fileappender_test/experr\" ." +printf "%s\n" "$at_srcdir/fileappender_test.at:4: cp -f \"\${abs_srcdir}/fileappender_test/experr\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fileappender_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/fileappender_test/experr" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6002,7 +6062,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/fileappender_test.at:5: \"\${abs_top_builddir}/fileappender_test\"" +printf "%s\n" "$at_srcdir/fileappender_test.at:5: \"\${abs_top_builddir}/fileappender_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fileappender_test.at:5" ( $at_check_trace; "${abs_top_builddir}/fileappender_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6015,7 +6075,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/fileappender_test.at:6: test -f \"a/b/c/d/Test.log\"" +printf "%s\n" "$at_srcdir/fileappender_test.at:6: test -f \"a/b/c/d/Test.log\"" at_fn_check_prepare_trace "fileappender_test.at:6" ( $at_check_trace; test -f "a/b/c/d/Test.log" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6028,10 +6088,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/fileappender_test.at:7: rm -rf \"a\"" +printf "%s\n" "$at_srcdir/fileappender_test.at:7: rm -rf \"a\"" at_fn_check_prepare_trace "fileappender_test.at:7" ( $at_check_trace; rm -rf "a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6044,7 +6105,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/fileappender_test.at:7: \"\${abs_top_builddir}/fileappender_testU\"" +printf "%s\n" "$at_srcdir/fileappender_test.at:7: \"\${abs_top_builddir}/fileappender_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fileappender_test.at:7" ( $at_check_trace; "${abs_top_builddir}/fileappender_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6057,7 +6118,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/fileappender_test.at:7: test -f \"a/b/c/d/Test.log\"" +printf "%s\n" "$at_srcdir/fileappender_test.at:7: test -f \"a/b/c/d/Test.log\"" at_fn_check_prepare_trace "fileappender_test.at:7" ( $at_check_trace; test -f "a/b/c/d/Test.log" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6083,13 +6144,13 @@ at_fn_group_banner 62 'filter_test.at:1' \ "filter_test" " " 2 at_xfail=no ( - $as_echo "62. $at_setup_line: testing $at_desc ..." + printf "%s\n" "62. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/filter_test.at:4: cp -f \"\${abs_srcdir}/filter_test/expout\" ." +printf "%s\n" "$at_srcdir/filter_test.at:4: cp -f \"\${abs_srcdir}/filter_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "filter_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/filter_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6102,7 +6163,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:5: cp -f \"\${abs_builddir}/filter_test/log4cplus.properties\" ." +printf "%s\n" "$at_srcdir/filter_test.at:5: cp -f \"\${abs_builddir}/filter_test/log4cplus.properties\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "filter_test.at:5" ( $at_check_trace; cp -f "${abs_builddir}/filter_test/log4cplus.properties" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6118,7 +6179,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:18: \"\${abs_top_builddir}/filter_test\"" +printf "%s\n" "$at_srcdir/filter_test.at:18: \"\${abs_top_builddir}/filter_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "filter_test.at:18" ( $at_check_trace; "${abs_top_builddir}/filter_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6131,7 +6192,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:19: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/filter_test.at:19: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "filter_test.at:19" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6145,7 +6206,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: test -s debug_info_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: test -s debug_info_msgs.log" at_fn_check_prepare_trace "filter_test.at:20" ( $at_check_trace; test -s debug_info_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6158,7 +6219,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: ! \$GREP 'TRACE\\|WARN\\|ERROR\\|FATAL' debug_info_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: ! \$GREP 'TRACE\\|WARN\\|ERROR\\|FATAL' debug_info_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:20" ( $at_check_trace; ! $GREP 'TRACE\|WARN\|ERROR\|FATAL' debug_info_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6172,7 +6233,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: test -s fatal_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: test -s fatal_msgs.log" at_fn_check_prepare_trace "filter_test.at:20" ( $at_check_trace; test -s fatal_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6185,7 +6246,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: ! \$GREP 'TRACE\\|DEBUG\\|INFO\\|WARN\\|ERROR' fatal_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: ! \$GREP 'TRACE\\|DEBUG\\|INFO\\|WARN\\|ERROR' fatal_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:20" ( $at_check_trace; ! $GREP 'TRACE\|DEBUG\|INFO\|WARN\|ERROR' fatal_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6199,7 +6260,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: test -s trace_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: test -s trace_msgs.log" at_fn_check_prepare_trace "filter_test.at:20" ( $at_check_trace; test -s trace_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6212,7 +6273,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:20: ! \$GREP 'DEBUG\\|INFO\\|WARN\\|ERROR\\|FATAL' trace_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:20: ! \$GREP 'DEBUG\\|INFO\\|WARN\\|ERROR\\|FATAL' trace_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:20" ( $at_check_trace; ! $GREP 'DEBUG\|INFO\|WARN\|ERROR\|FATAL' trace_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6227,10 +6288,11 @@ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/filter_test.at:22: rm -f stderr debug_info_msgs.log fatal_msgs.log trace_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: rm -f stderr debug_info_msgs.log fatal_msgs.log trace_msgs.log" at_fn_check_prepare_trace "filter_test.at:22" ( $at_check_trace; rm -f stderr debug_info_msgs.log fatal_msgs.log trace_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6243,7 +6305,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: \"\${abs_top_builddir}/filter_testU\"" +printf "%s\n" "$at_srcdir/filter_test.at:22: \"\${abs_top_builddir}/filter_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "filter_test.at:22" ( $at_check_trace; "${abs_top_builddir}/filter_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6256,7 +6318,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/filter_test.at:22: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "filter_test.at:22" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6270,7 +6332,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: test -s debug_info_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: test -s debug_info_msgs.log" at_fn_check_prepare_trace "filter_test.at:22" ( $at_check_trace; test -s debug_info_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6283,7 +6345,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: ! \$GREP 'TRACE\\|WARN\\|ERROR\\|FATAL' debug_info_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: ! \$GREP 'TRACE\\|WARN\\|ERROR\\|FATAL' debug_info_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:22" ( $at_check_trace; ! $GREP 'TRACE\|WARN\|ERROR\|FATAL' debug_info_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6297,7 +6359,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: test -s fatal_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: test -s fatal_msgs.log" at_fn_check_prepare_trace "filter_test.at:22" ( $at_check_trace; test -s fatal_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6310,7 +6372,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: ! \$GREP 'TRACE\\|DEBUG\\|INFO\\|WARN\\|ERROR' fatal_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: ! \$GREP 'TRACE\\|DEBUG\\|INFO\\|WARN\\|ERROR' fatal_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:22" ( $at_check_trace; ! $GREP 'TRACE\|DEBUG\|INFO\|WARN\|ERROR' fatal_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6324,7 +6386,7 @@ $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: test -s trace_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: test -s trace_msgs.log" at_fn_check_prepare_trace "filter_test.at:22" ( $at_check_trace; test -s trace_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6337,7 +6399,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/filter_test.at:22: ! \$GREP 'DEBUG\\|INFO\\|WARN\\|ERROR\\|FATAL' trace_msgs.log" +printf "%s\n" "$at_srcdir/filter_test.at:22: ! \$GREP 'DEBUG\\|INFO\\|WARN\\|ERROR\\|FATAL' trace_msgs.log" at_fn_check_prepare_notrace 'a shell pipeline' "filter_test.at:22" ( $at_check_trace; ! $GREP 'DEBUG\|INFO\|WARN\|ERROR\|FATAL' trace_msgs.log ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6364,13 +6426,13 @@ at_fn_group_banner 63 'hierarchy_test.at:1' \ "hierarchy_test" " " 2 at_xfail=no ( - $as_echo "63. $at_setup_line: testing $at_desc ..." + printf "%s\n" "63. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/hierarchy_test.at:4: cp -f \"\${abs_srcdir}/hierarchy_test/expout\" ." +printf "%s\n" "$at_srcdir/hierarchy_test.at:4: cp -f \"\${abs_srcdir}/hierarchy_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "hierarchy_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/hierarchy_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6383,7 +6445,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/hierarchy_test.at:5: \"\${abs_top_builddir}/hierarchy_test\"" +printf "%s\n" "$at_srcdir/hierarchy_test.at:5: \"\${abs_top_builddir}/hierarchy_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "hierarchy_test.at:5" ( $at_check_trace; "${abs_top_builddir}/hierarchy_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6396,10 +6458,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/hierarchy_test.at:6: \"\${abs_top_builddir}/hierarchy_test\"" +printf "%s\n" "$at_srcdir/hierarchy_test.at:6: \"\${abs_top_builddir}/hierarchy_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "hierarchy_test.at:6" ( $at_check_trace; "${abs_top_builddir}/hierarchy_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6425,13 +6488,13 @@ at_fn_group_banner 64 'loglog_test.at:1' \ "loglog_test" " " 2 at_xfail=no ( - $as_echo "64. $at_setup_line: testing $at_desc ..." + printf "%s\n" "64. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/loglog_test.at:4: cp -f \"\${abs_srcdir}/loglog_test/expout\" ." +printf "%s\n" "$at_srcdir/loglog_test.at:4: cp -f \"\${abs_srcdir}/loglog_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "loglog_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/loglog_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6444,7 +6507,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/loglog_test.at:5: cp -f \"\${abs_srcdir}/loglog_test/experr\" ." +printf "%s\n" "$at_srcdir/loglog_test.at:5: cp -f \"\${abs_srcdir}/loglog_test/experr\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "loglog_test.at:5" ( $at_check_trace; cp -f "${abs_srcdir}/loglog_test/experr" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6457,7 +6520,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/loglog_test.at:6: \"\${abs_top_builddir}/loglog_test\"" +printf "%s\n" "$at_srcdir/loglog_test.at:6: \"\${abs_top_builddir}/loglog_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "loglog_test.at:6" ( $at_check_trace; "${abs_top_builddir}/loglog_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6470,10 +6533,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/loglog_test.at:7: \"\${abs_top_builddir}/loglog_test\"" +printf "%s\n" "$at_srcdir/loglog_test.at:7: \"\${abs_top_builddir}/loglog_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "loglog_test.at:7" ( $at_check_trace; "${abs_top_builddir}/loglog_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6499,13 +6563,13 @@ at_fn_group_banner 65 'ndc_test.at:1' \ "ndc_test" " " 2 at_xfail=no ( - $as_echo "65. $at_setup_line: testing $at_desc ..." + printf "%s\n" "65. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/ndc_test.at:4: cp -f \"\${abs_srcdir}/ndc_test/expout\" ." +printf "%s\n" "$at_srcdir/ndc_test.at:4: cp -f \"\${abs_srcdir}/ndc_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ndc_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/ndc_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6518,7 +6582,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ndc_test.at:5: \"\${abs_top_builddir}/ndc_test\"" +printf "%s\n" "$at_srcdir/ndc_test.at:5: \"\${abs_top_builddir}/ndc_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ndc_test.at:5" ( $at_check_trace; "${abs_top_builddir}/ndc_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6531,10 +6595,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/ndc_test.at:6: \"\${abs_top_builddir}/ndc_test\"" +printf "%s\n" "$at_srcdir/ndc_test.at:6: \"\${abs_top_builddir}/ndc_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ndc_test.at:6" ( $at_check_trace; "${abs_top_builddir}/ndc_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6560,13 +6625,13 @@ at_fn_group_banner 66 'ostream_test.at:1' \ "ostream_test" " " 2 at_xfail=no ( - $as_echo "66. $at_setup_line: testing $at_desc ..." + printf "%s\n" "66. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/ostream_test.at:4: cp -f \"\${abs_srcdir}/ostream_test/expout\" ." +printf "%s\n" "$at_srcdir/ostream_test.at:4: cp -f \"\${abs_srcdir}/ostream_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ostream_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/ostream_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6579,7 +6644,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/ostream_test.at:5: \"\${abs_top_builddir}/ostream_test\"" +printf "%s\n" "$at_srcdir/ostream_test.at:5: \"\${abs_top_builddir}/ostream_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ostream_test.at:5" ( $at_check_trace; "${abs_top_builddir}/ostream_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6592,10 +6657,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/ostream_test.at:6: \"\${abs_top_builddir}/ostream_test\"" +printf "%s\n" "$at_srcdir/ostream_test.at:6: \"\${abs_top_builddir}/ostream_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ostream_test.at:6" ( $at_check_trace; "${abs_top_builddir}/ostream_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6621,7 +6687,7 @@ at_fn_group_banner 67 'patternlayout_test.at:1' \ "patternlayout_test" " " 2 at_xfail=no ( - $as_echo "67. $at_setup_line: testing $at_desc ..." + printf "%s\n" "67. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6629,7 +6695,7 @@ at_xfail=no { set +x -$as_echo "$at_srcdir/patternlayout_test.at:12: \"\${abs_top_builddir}/patternlayout_test\"" +printf "%s\n" "$at_srcdir/patternlayout_test.at:12: \"\${abs_top_builddir}/patternlayout_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "patternlayout_test.at:12" ( $at_check_trace; "${abs_top_builddir}/patternlayout_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6642,7 +6708,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/patternlayout_test.at:13: \$AWK ' +printf "%s\n" "$at_srcdir/patternlayout_test.at:13: \$AWK ' BEGIN {count = 0} /^Entering main/ && ++count; /(DEBUG|INFO|WARN|ERROR|FATAL)[ ]+c\\.logger %[^%]*% - MDC value - This is the (FIRST|SECOND|THIRD|FOURTH|FIFTH) log message\\.\\.\\. \\[.*main\\.cxx:[0-9]+\\]/ && ++count; @@ -6666,10 +6732,11 @@ $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/patternlayout_test.at:15: \"\${abs_top_builddir}/patternlayout_testU\"" +printf "%s\n" "$at_srcdir/patternlayout_test.at:15: \"\${abs_top_builddir}/patternlayout_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "patternlayout_test.at:15" ( $at_check_trace; "${abs_top_builddir}/patternlayout_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6682,7 +6749,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/patternlayout_test.at:15: \$AWK ' +printf "%s\n" "$at_srcdir/patternlayout_test.at:15: \$AWK ' BEGIN {count = 0} /^Entering main/ && ++count; /(DEBUG|INFO|WARN|ERROR|FATAL)[ ]+c\\.logger %[^%]*% - MDC value - This is the (FIRST|SECOND|THIRD|FOURTH|FIFTH) log message\\.\\.\\. \\[.*main\\.cxx:[0-9]+\\]/ && ++count; @@ -6718,13 +6785,13 @@ at_fn_group_banner 68 'performance_test.at:1' \ "performance_test" " " 2 at_xfail=no ( - $as_echo "68. $at_setup_line: testing $at_desc ..." + printf "%s\n" "68. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/performance_test.at:4: cp -f \"\${abs_builddir}/performance_test/log4cplus.properties\" ." +printf "%s\n" "$at_srcdir/performance_test.at:4: cp -f \"\${abs_builddir}/performance_test/log4cplus.properties\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "performance_test.at:4" ( $at_check_trace; cp -f "${abs_builddir}/performance_test/log4cplus.properties" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6737,7 +6804,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/performance_test.at:5: \"\${abs_top_builddir}/performance_test\"" +printf "%s\n" "$at_srcdir/performance_test.at:5: \"\${abs_top_builddir}/performance_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "performance_test.at:5" ( $at_check_trace; "${abs_top_builddir}/performance_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6750,7 +6817,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/performance_test.at:6: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/performance_test.at:6: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "performance_test.at:6" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6763,10 +6830,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/performance_test.at:7: \"\${abs_top_builddir}/performance_testU\"" +printf "%s\n" "$at_srcdir/performance_test.at:7: \"\${abs_top_builddir}/performance_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "performance_test.at:7" ( $at_check_trace; "${abs_top_builddir}/performance_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6779,7 +6847,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/performance_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/performance_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "performance_test.at:7" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6805,13 +6873,13 @@ at_fn_group_banner 69 'priority_test.at:1' \ "priority_test" " " 2 at_xfail=no ( - $as_echo "69. $at_setup_line: testing $at_desc ..." + printf "%s\n" "69. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/priority_test.at:4: cp -f \"\${abs_srcdir}/priority_test/expout\" ." +printf "%s\n" "$at_srcdir/priority_test.at:4: cp -f \"\${abs_srcdir}/priority_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "priority_test.at:4" ( $at_check_trace; cp -f "${abs_srcdir}/priority_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6824,7 +6892,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/priority_test.at:5: \"\${abs_top_builddir}/priority_test\"" +printf "%s\n" "$at_srcdir/priority_test.at:5: \"\${abs_top_builddir}/priority_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "priority_test.at:5" ( $at_check_trace; "${abs_top_builddir}/priority_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6837,10 +6905,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/priority_test.at:6: \"\${abs_top_builddir}/priority_testU\"" +printf "%s\n" "$at_srcdir/priority_test.at:6: \"\${abs_top_builddir}/priority_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "priority_test.at:6" ( $at_check_trace; "${abs_top_builddir}/priority_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6866,13 +6935,13 @@ at_fn_group_banner 70 'propertyconfig_test.at:1' \ "propertyconfig_test" " " 2 at_xfail=no ( - $as_echo "70. $at_setup_line: testing $at_desc ..." + printf "%s\n" "70. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:4: cp -f \"\${abs_builddir}/propertyconfig_test/log4cplus.properties\" ." +printf "%s\n" "$at_srcdir/propertyconfig_test.at:4: cp -f \"\${abs_builddir}/propertyconfig_test/log4cplus.properties\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "propertyconfig_test.at:4" ( $at_check_trace; cp -f "${abs_builddir}/propertyconfig_test/log4cplus.properties" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6885,7 +6954,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:5: cp -f \"\${abs_builddir}/propertyconfig_test/log4cplus.tail.properties\" ." +printf "%s\n" "$at_srcdir/propertyconfig_test.at:5: cp -f \"\${abs_builddir}/propertyconfig_test/log4cplus.tail.properties\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "propertyconfig_test.at:5" ( $at_check_trace; cp -f "${abs_builddir}/propertyconfig_test/log4cplus.tail.properties" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6898,7 +6967,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:6: ENV_VAR=test \"\${abs_top_builddir}/propertyconfig_test\"" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:6: ENV_VAR=test \"\${abs_top_builddir}/propertyconfig_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "propertyconfig_test.at:6" ( $at_check_trace; ENV_VAR=test "${abs_top_builddir}/propertyconfig_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6911,7 +6980,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:7: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "propertyconfig_test.at:7" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6924,7 +6993,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:8: test -f \"output_test.log\"" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:8: test -f \"output_test.log\"" at_fn_check_prepare_trace "propertyconfig_test.at:8" ( $at_check_trace; test -f "output_test.log" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6937,10 +7006,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:9: rm -f \"output_test.log\"" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:9: rm -f \"output_test.log\"" at_fn_check_prepare_trace "propertyconfig_test.at:9" ( $at_check_trace; rm -f "output_test.log" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6953,7 +7023,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:9: ENV_VAR=test \"\${abs_top_builddir}/propertyconfig_testU\"" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:9: ENV_VAR=test \"\${abs_top_builddir}/propertyconfig_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "propertyconfig_test.at:9" ( $at_check_trace; ENV_VAR=test "${abs_top_builddir}/propertyconfig_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6966,7 +7036,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:9: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:9: ! \$GREP \"Please initialize the log4cplus system properly\"< stderr" at_fn_check_prepare_dynamic "! $GREP \"Please initialize the log4cplus system properly\"< stderr" "propertyconfig_test.at:9" ( $at_check_trace; ! $GREP "Please initialize the log4cplus system properly"< stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -6979,7 +7049,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/propertyconfig_test.at:9: test -f \"output_test.log\"" +printf "%s\n" "$at_srcdir/propertyconfig_test.at:9: test -f \"output_test.log\"" at_fn_check_prepare_trace "propertyconfig_test.at:9" ( $at_check_trace; test -f "output_test.log" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7005,16 +7075,16 @@ at_fn_group_banner 71 'thread_test.at:1' \ "thread_test" " " 2 at_xfail=no ( - $as_echo "71. $at_setup_line: testing $at_desc ..." + printf "%s\n" "71. $at_setup_line: testing $at_desc ..." $at_traceon -$as_echo "thread_test.at:4" >"$at_check_line_file" +printf "%s\n" "thread_test.at:4" >"$at_check_line_file" (test "x$ENABLE_THREADS" != "xyes") \ && at_fn_check_skip 77 "$at_srcdir/thread_test.at:4" { set +x -$as_echo "$at_srcdir/thread_test.at:5: \"\${abs_top_builddir}/thread_test\"" +printf "%s\n" "$at_srcdir/thread_test.at:5: \"\${abs_top_builddir}/thread_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "thread_test.at:5" ( $at_check_trace; "${abs_top_builddir}/thread_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7027,10 +7097,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/thread_test.at:6: \"\${abs_top_builddir}/thread_testU\"" +printf "%s\n" "$at_srcdir/thread_test.at:6: \"\${abs_top_builddir}/thread_testU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "thread_test.at:6" ( $at_check_trace; "${abs_top_builddir}/thread_testU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7056,13 +7127,13 @@ at_fn_group_banner 72 'timeformat_test.at:1' \ "timeformat_test" " " 2 at_xfail=no ( - $as_echo "72. $at_setup_line: testing $at_desc ..." + printf "%s\n" "72. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/timeformat_test.at:4: \"\${abs_top_builddir}/timeformat_test\"" +printf "%s\n" "$at_srcdir/timeformat_test.at:4: \"\${abs_top_builddir}/timeformat_test\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "timeformat_test.at:4" ( $at_check_trace; "${abs_top_builddir}/timeformat_test" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7075,7 +7146,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/timeformat_test.at:5: cp -f \"\${abs_srcdir}/timeformat_test/expout\" ." +printf "%s\n" "$at_srcdir/timeformat_test.at:5: cp -f \"\${abs_srcdir}/timeformat_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "timeformat_test.at:5" ( $at_check_trace; cp -f "${abs_srcdir}/timeformat_test/expout" . ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7088,7 +7159,7 @@ $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/timeformat_test.at:6: \$SED -e '2d' >"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7101,10 +7172,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/timeformat_test.at:7: \$SED -e '2d' >"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7130,13 +7202,13 @@ at_fn_group_banner 73 'unit_tests.at:1' \ "unit_tests" " " 2 at_xfail=no ( - $as_echo "73. $at_setup_line: testing $at_desc ..." + printf "%s\n" "73. $at_setup_line: testing $at_desc ..." $at_traceon { set +x -$as_echo "$at_srcdir/unit_tests.at:4: \"\${abs_top_builddir}/unit_tests\"" +printf "%s\n" "$at_srcdir/unit_tests.at:4: \"\${abs_top_builddir}/unit_tests\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "unit_tests.at:4" ( $at_check_trace; "${abs_top_builddir}/unit_tests" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- @@ -7149,10 +7221,11 @@ $at_failed && at_fn_log_failure $at_traceon; } - if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes"; then : + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : { set +x -$as_echo "$at_srcdir/unit_tests.at:5: \"\${abs_top_builddir}/unit_testsU\"" +printf "%s\n" "$at_srcdir/unit_tests.at:5: \"\${abs_top_builddir}/unit_testsU\"" at_fn_check_prepare_notrace 'a ${...} parameter expansion' "unit_tests.at:5" ( $at_check_trace; "${abs_top_builddir}/unit_testsU" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- From f9f184017d67d0bdb5aca7dc0868eab408567edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 19 Feb 2020 12:48:00 +0100 Subject: [PATCH 121/353] CMakeLists.txt: The minimum CMake version is 3.12. This fixes #463. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a6ee4b9f..11de653c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ endif () set (CMAKE_LEGACY_CYGWIN_WIN32 0) project (log4cplus) -cmake_minimum_required (VERSION 3.8) +cmake_minimum_required (VERSION 3.12) # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) From e15db3d625e6f596009994b006bc45a52413ccd3 Mon Sep 17 00:00:00 2001 From: EricTeo <39565725+zcteo@users.noreply.github.com> Date: Tue, 6 Jul 2021 14:19:34 +0800 Subject: [PATCH 122/353] Clear files before the MaxHistory #381 TimeBasedRollingFileAppender: Clear files before the MaxHistory when CleanHistoryOnStart false. #381 --- src/fileappender.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 87c37afd0..04f3cd209 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1330,10 +1330,14 @@ TimeBasedRollingFileAppender::init() Time now = helpers::now(); nextRolloverTime = calculateNextRolloverTime(now); - if (cleanHistoryOnStart) + if (LOG4CPLUS_UNLIKELY(cleanHistoryOnStart)) { clean(now + maxHistory*getRolloverPeriodDuration()); } + else + { + clean(now); + } lastHeartBeat = now; } From 3754f77816aca5441f1376c885ab20b2aa139eab Mon Sep 17 00:00:00 2001 From: foxhlchen Date: Thu, 15 Jul 2021 21:59:03 +0800 Subject: [PATCH 123/353] `filename` should not be empty for TimeBasedRollingFileAppender TimeBasedRollingFileAppender uses `filenamePattern` alone with current date time as opened filename and `filename` field is left empty almost all the time. This brings the problem when it calls `append()` method from the base class FileAppenderBase. The base class FileAppenderBase assumes that `filename` field is the path for opened file. Now this contract is broken. Currently, this will cause log4cplus to print "log4cplus: ERROR file is not open:" when `out` stream is broken. It's confusing and misleading. Users may think that log4cplus tries to open a file with the empty name "". This does not stop here, as long as it persists, more subtle bugs can be introduced. This commit fixes this problem by setting filename to the name of current opened file in `TimeBasedRollingFileAppender::open()` making the contract valid again. Signed-off-by: foxhlchen --- src/fileappender.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 04f3cd209..1c8effcd7 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1356,7 +1356,10 @@ void TimeBasedRollingFileAppender::open(std::ios_base::openmode mode) { scheduledFilename = helpers::getFormattedTime(filenamePattern, helpers::now(), false); - tstring currentFilename = filename.empty() ? scheduledFilename : filename; + if (filename.empty()) + filename = scheduledFilename; + + tstring currentFilename = filename; if (createDirs) internal::make_dirs (currentFilename); @@ -1401,7 +1404,7 @@ TimeBasedRollingFileAppender::rollover(bool alreadyLocked) // should remain unchanged on a close out.clear(); - if (! filename.empty()) + if (filename != scheduledFilename) { helpers::LogLog & loglog = helpers::getLogLog(); long ret; From 917b5c413ae2f935ad57e27af68cc95d6e13124e Mon Sep 17 00:00:00 2001 From: foxhlchen Date: Thu, 15 Jul 2021 21:59:03 +0800 Subject: [PATCH 124/353] `filename` should not be empty for TimeBasedRollingFileAppender TimeBasedRollingFileAppender uses `filenamePattern` alone with current date time as opened filename and `filename` field is left empty almost all the time. This brings the problem when it calls `append()` method from the base class FileAppenderBase. The base class FileAppenderBase assumes that `filename` field is the path for opened file. Now this contract is broken. Currently, this will cause log4cplus to print "log4cplus: ERROR file is not open:" when `out` stream is broken. It's confusing and misleading. Users may think that log4cplus tries to open a file with the empty name "". This does not stop here, as long as it persists, more subtle bugs can be introduced. This commit fixes this problem by setting filename to the name of current opened file in `TimeBasedRollingFileAppender::open()` making the contract valid again. Signed-off-by: foxhlchen --- src/fileappender.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 87c37afd0..95137995b 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1352,7 +1352,10 @@ void TimeBasedRollingFileAppender::open(std::ios_base::openmode mode) { scheduledFilename = helpers::getFormattedTime(filenamePattern, helpers::now(), false); - tstring currentFilename = filename.empty() ? scheduledFilename : filename; + if (filename.empty()) + filename = scheduledFilename; + + tstring currentFilename = filename; if (createDirs) internal::make_dirs (currentFilename); @@ -1397,7 +1400,7 @@ TimeBasedRollingFileAppender::rollover(bool alreadyLocked) // should remain unchanged on a close out.clear(); - if (! filename.empty()) + if (filename != scheduledFilename) { helpers::LogLog & loglog = helpers::getLogLog(); long ret; From 3c0e312595066670733ffa0f1cfb576491b5a7a9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 15 Aug 2021 13:29:43 +0200 Subject: [PATCH 125/353] Add CMake alias libraries. Fixes #511. --- qt4debugappender/CMakeLists.txt | 1 + qt5debugappender/CMakeLists.txt | 1 + src/CMakeLists.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index f57df227f..989b4cb59 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -6,6 +6,7 @@ include (${QT_USE_FILE}) set (qt4debugappender log4cplusqt4debugappender${log4cplus_postfix}) add_library (${qt4debugappender} ${qt4debugappender_sources}) +add_library (log4cplus::qt4debugappender ALIAS ${qt4debugappender}) if (UNICODE) target_compile_definitions (${qt4debugappender} PUBLIC UNICODE) target_compile_definitions (${qt4debugappender} PUBLIC _UNICODE) diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index 12b41f8cf..cc9e5c58d 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -6,6 +6,7 @@ find_package (Qt5Core REQUIRED) set (qt5debugappender log4cplusqt5debugappender${log4cplus_postfix}) add_library (${qt5debugappender} ${qt5debugappender_sources}) +add_library (log4cplus::qt5debugappender ALIAS ${qt5debugappender}) if (UNICODE) target_compile_definitions (${qt5debugappender} PUBLIC UNICODE) target_compile_definitions (${qt5debugappender} PUBLIC _UNICODE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d4d74db15..4ede3c3c2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -81,6 +81,7 @@ if (WIN32) endif (WIN32) add_library (${log4cplus} ${log4cplus_sources}) +add_library (log4cplus::log4cplus ALIAS ${log4cplus}) if (UNICODE) target_compile_definitions (${log4cplus} PUBLIC UNICODE) From eecfa064972e4df36531ec1092accd716e23d65b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 9 Aug 2021 17:41:41 +0200 Subject: [PATCH 126/353] Update Catch2 to v2.13.7. Fixes #519. --- catch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catch b/catch index de6fe184a..c4e3767e2 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit de6fe184a9ac1a06895cdd1c9b437f0a0bdf14ad +Subproject commit c4e3767e265808590986d5db6ca1b5532a7f3d13 From fc034d5090bb8927754999d4517976e9e0616f7c Mon Sep 17 00:00:00 2001 From: EricTeo <39565725+zcteo@users.noreply.github.com> Date: Tue, 6 Jul 2021 14:19:34 +0800 Subject: [PATCH 127/353] Clear files before the MaxHistory #381 TimeBasedRollingFileAppender: Clear files before the MaxHistory when CleanHistoryOnStart false. #381 --- src/fileappender.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 95137995b..1c8effcd7 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1330,10 +1330,14 @@ TimeBasedRollingFileAppender::init() Time now = helpers::now(); nextRolloverTime = calculateNextRolloverTime(now); - if (cleanHistoryOnStart) + if (LOG4CPLUS_UNLIKELY(cleanHistoryOnStart)) { clean(now + maxHistory*getRolloverPeriodDuration()); } + else + { + clean(now); + } lastHeartBeat = now; } From 7ac6fbc7bec39b4ebd11cd6fce63773b9fac367a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 24 Feb 2021 21:07:45 +0100 Subject: [PATCH 128/353] Update ThreadPool implementation. --- threadpool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/threadpool b/threadpool index cb9817581..3507796e1 160000 --- a/threadpool +++ b/threadpool @@ -1 +1 @@ -Subproject commit cb9817581c9d51d99bc5f2bc6c3786998e08dba7 +Subproject commit 3507796e172d36555b47d6191f170823d9f6b12c From 97c690c4d25bed24027d6f10d08d4de5888beb3d Mon Sep 17 00:00:00 2001 From: Pieter du Preez Date: Thu, 16 Sep 2021 09:54:55 +0000 Subject: [PATCH 129/353] Bug fix for FileAppenders, when using the ',aux' extension. This patch fixes the implementation of the ',aux' extension for FileAppenders. The implementation can now cope with ',aux' as well as ',aux'-types. --- src/fileappender.cxx | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 1c8effcd7..7ffcb8214 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1093,14 +1093,33 @@ static tstring preprocessDateTimePattern(const tstring_view& pattern, DailyRollingFileSchedule& schedule) { // Example: "yyyy-MM-dd HH:mm:ss,aux" + // Example with space(s) between the ',' and 'aux': "yyyy-MM-dd HH:mm:ss, aux" // Patterns from java.text.SimpleDateFormat not implemented here: Y, F, k, K, S, X tostringstream result; - bool auxilary = (pattern.find(LOG4CPLUS_TEXT(",aux")) == pattern.length()-4); + size_t aux_len = 0; + auto pattern_length = pattern.length(); + if (pattern_length >= 4 && pattern.find(LOG4CPLUS_TEXT("aux"), pattern_length-3) == pattern_length-3) { + auto const comma_pos = pattern.rfind(LOG4CPLUS_TEXT(",")); + if (comma_pos != tstring_view::npos) { + auto const comma_to_aux_len = pattern_length - 4 - comma_pos; + if (comma_to_aux_len == 0) { + aux_len = 4; + } + else if (comma_to_aux_len > 0) { + auto const space_str = pattern.substr(comma_pos+1, comma_to_aux_len); + if (space_str == tstring(comma_to_aux_len, ' ')) { + aux_len = 4 + comma_to_aux_len; + } + } + pattern_length -= aux_len; + } + } + bool has_week = false, has_day = false, has_hour = false, has_minute = false; - for (size_t i = 0, pattern_length = pattern.length(); i < pattern_length; ) + for (size_t i = 0; i < pattern_length; ) { tchar c = pattern[i]; size_t end_pos = pattern.find_first_not_of(c, i); @@ -1202,7 +1221,7 @@ preprocessDateTimePattern(const tstring_view& pattern, DailyRollingFileSchedule& i += len; } - if (!auxilary) + if (aux_len == 0) { if (has_minute) schedule = MINUTELY; From e6ab2ee573a4a5afd6b8cf6c6c05734b8c36f43e Mon Sep 17 00:00:00 2001 From: leleliu008 Date: Thu, 30 Dec 2021 10:23:42 +0800 Subject: [PATCH 130/353] add github actions to cross-compile for android --- .github/workflows/android.yml | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/android.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 000000000..990e63d49 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,65 @@ +name: cross compile with android-ndk + +on: + push: + branches: [ 2.0.x ] + pull_request: + branches: [ 2.0.x ] + +jobs: + cross-compile: + strategy: + fail-fast: false + matrix: + target-abi: [armeabi-v7a, arm64-v8a, x86, x86_64] + + runs-on: ubuntu-20.04 + + steps: + - run: brew install tree + + - uses: actions/checkout@v2 + + - name: build for ${{ matrix.target-abi }} + run: | + COLOR_GREEN='\033[0;32m' # Green + COLOR_PURPLE='\033[0;35m' # Purple + COLOR_OFF='\033[0m' # Reset + + run() { + printf '%b\n' "$COLOR_PURPLE==>$COLOR_OFF $COLOR_GREEN$*$COLOR_OFF" + eval "$*" + } + + run "env | sed -n '/^ANDROID_/p'" + + BUILD_MACHINE_OS_TYPE=$(uname | tr A-Z a-z) + BUILD_MACHINE_OS_ARCH=$(uname -m) + + ANDROID_NDK_VERS=$(grep "Pkg.Revision" "$ANDROID_NDK_HOME/source.properties" | cut -d " " -f3) + ANDROID_NDK_BASE=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$BUILD_MACHINE_OS_TYPE-$BUILD_MACHINE_OS_ARCH + ANDROID_NDK_BIND=$ANDROID_NDK_BASE/bin + SYSROOT=$ANDROID_NDK_BASE/sysroot + + printf '%s = %s\n' ANDROID_NDK_BASE "$ANDROID_NDK_BASE" + printf '%s = %s\n' ANDROID_NDK_VERS "$ANDROID_NDK_VERS" + + run cmake --version + + run cmake \ + -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \ + -DCMAKE_INSTALL_PREFIX=$PWD/install.d \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DANDROID_TOOLCHAIN=clang \ + -DANDROID_ABI=${{ matrix.target-abi }} \ + -DANDROID_PLATFORM=21 \ + -S . \ + -B build.d \ + + run cmake --build build.d + + run cmake --install build.d + + run tree install.d + From 0b12365ef77ef73536c29b2dcefa1ecbaa0b39c5 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 27 Dec 2021 20:41:44 +0100 Subject: [PATCH 131/353] Fix missing __android_log_write. Look for Android's log library. Fixes #543. (cherry picked from commit 2de9a22418997e315e74fbd1a620c82bf3df3c57) --- ConfigureChecks.cmake | 3 +++ src/CMakeLists.txt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index d5253d1b4..3a1be9300 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -55,6 +55,9 @@ find_library(LIBPOSIX4 posix4) find_library(LIBCPOSIX cposix) find_library(LIBSOCKET socket) find_library(LIBWS2_32 ws2_32) +if (ANDROID) + find_library (ANDROID_LOG_LIB log REQUIRED) +endif (ANDROID) check_function_exists(gmtime_r LOG4CPLUS_HAVE_GMTIME_R ) check_function_exists(localtime_r LOG4CPLUS_HAVE_LOCALTIME_R ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ede3c3c2..4e762039a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -108,6 +108,9 @@ endif () if (LOG4CPLUS_WITH_ICONV AND LIBICONV) list (APPEND log4cplus_LIBS ${LIBICONV}) endif () +if (ANDROID AND WITH_UNIT_TESTS) + list (APPEND log4cplus_LIBS ${ANDROID_LOG_LIB}) +endif () target_link_libraries (${log4cplus} ${log4cplus_LIBS}) if (ANDROID) From e6eb9c26d2d3a0770b9ccb217b0686f224e73fd0 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 30 Dec 2021 08:47:45 +0100 Subject: [PATCH 132/353] .github/workflows/android.yml: Git checkout with submodules. (cherry picked from commit f9662baa796df64703255465ba28c079efb37743) --- .github/workflows/android.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 990e63d49..49c0f76c7 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -19,6 +19,8 @@ jobs: - run: brew install tree - uses: actions/checkout@v2 + with: + submodules: recursive - name: build for ${{ matrix.target-abi }} run: | From 52dd360e04d0fcdadc87cc1874884d9bbc027f99 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 30 Dec 2021 09:00:12 +0100 Subject: [PATCH 133/353] Add master to list of Android build branches. --- .github/workflows/android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 49c0f76c7..4b7318285 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -2,9 +2,9 @@ name: cross compile with android-ndk on: push: - branches: [ 2.0.x ] + branches: [ 2.0.x, master ] pull_request: - branches: [ 2.0.x ] + branches: [ 2.0.x, master ] jobs: cross-compile: From 50429a7079423b3c64b2fc2f40468a1914ca6fbd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Aug 2021 19:16:52 +0200 Subject: [PATCH 134/353] Move conditionals Qt{4,5} into Makefile.am.def. (cherry picked from commit 98f980d8b74b81555401c3e32f4b6acf65fddb38) --- Makefile.am | 4 ++++ Makefile.am.def | 4 ++-- qt4debugappender/Makefile.am | 3 --- qt5debugappender/Makefile.am | 3 --- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Makefile.am b/Makefile.am index 907c9aaf2..b81d3a8dd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,9 +43,13 @@ include %D%/src/Makefile.am include %D%/simpleserver/Makefile.am +if QT include %D%/qt4debugappender/Makefile.am +endif +if QT5 include %D%/qt5debugappender/Makefile.am +endif include %D%/swig/Makefile.common.am include %D%/swig/python/Makefile.am diff --git a/Makefile.am.def b/Makefile.am.def index 531d0d7bf..69bf2ba24 100644 --- a/Makefile.am.def +++ b/Makefile.am.def @@ -2,7 +2,7 @@ AutoGen definitions Makefile.am.tpl; src-dirs = { name = src; }; src-dirs = { name = simpleserver; }; -src-dirs = { name = qt4debugappender; }; -src-dirs = { name = qt5debugappender; }; +src-dirs = { name = qt4debugappender; conditional = QT; }; +src-dirs = { name = qt5debugappender; conditional = QT5; }; src-dirs = { name = swig; }; src-dirs = { name = tests; conditional = ENABLE_TESTS; }; diff --git a/qt4debugappender/Makefile.am b/qt4debugappender/Makefile.am index fd61d378d..be2567b92 100644 --- a/qt4debugappender/Makefile.am +++ b/qt4debugappender/Makefile.am @@ -1,4 +1,3 @@ -if QT lib_LTLIBRARIES += liblog4cplusqt4debugappender.la liblog4cplusqt4debugappender_la_cppflags = \ @@ -31,5 +30,3 @@ liblog4cplusqt4debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) liblog4cplusqt4debugappenderU_la_LDFLAGS = \ $(liblog4cplusqt4debugappender_la_ldflags) endif - -endif diff --git a/qt5debugappender/Makefile.am b/qt5debugappender/Makefile.am index e7fea2189..ba3245e55 100644 --- a/qt5debugappender/Makefile.am +++ b/qt5debugappender/Makefile.am @@ -1,4 +1,3 @@ -if QT5 lib_LTLIBRARIES += liblog4cplusqt5debugappender.la liblog4cplusqt5debugappender_la_cppflags = \ @@ -32,5 +31,3 @@ liblog4cplusqt5debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) liblog4cplusqt5debugappenderU_la_LDFLAGS = \ $(liblog4cplusqt5debugappender_la_ldflags) endif - -endif From c17a87b9f9224f2899bb0927cba166203845462b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Aug 2021 19:26:56 +0200 Subject: [PATCH 135/353] Update build-pdf.pl for current Pandoc. --- scripts/build-pdf.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-pdf.pl b/scripts/build-pdf.pl index c59ed1a06..c7f16aef6 100755 --- a/scripts/build-pdf.pl +++ b/scripts/build-pdf.pl @@ -22,8 +22,8 @@ , 'LICENSE' ); my @PANDOC_1ST_STEP_SWITCHES = - ( '--self-contained' - , '--atx-headers' + ( '--self-contained' + , '--markdown-headings=atx' , '-f', 'markdown+smart' , '-t', 'markdown' ); From e2a8926451a7deac63d25231b44b95397e1dfd8d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 2 Mar 2019 21:36:05 +0100 Subject: [PATCH 136/353] Fix formatting in configure.ac. --- configure | 1 + configure.ac | 1 + 2 files changed, 2 insertions(+) diff --git a/configure b/configure index ef628a91e..03c3fca7a 100755 --- a/configure +++ b/configure @@ -5502,6 +5502,7 @@ fi BUILD_WITH_WCHAR_T_SUPPORT=$with_wchar_t_support + # Check whether --enable-tests was given. if test ${enable_tests+y} then : diff --git a/configure.ac b/configure.ac index 017ae847d..3ffcd0019 100644 --- a/configure.ac +++ b/configure.ac @@ -144,6 +144,7 @@ AS_VAR_SET([BUILD_WITH_WCHAR_T_SUPPORT], [$with_wchar_t_support]) AC_SUBST([BUILD_WITH_WCHAR_T_SUPPORT]) dnl Enable tests + LOG4CPLUS_ARG_ENABLE([tests], [Enable tests [default=yes]], [enable_tests=yes]) From 045fb2068b33c7657be699bc49adc603213d6e68 Mon Sep 17 00:00:00 2001 From: Ahmet Findikci Date: Fri, 16 Sep 2022 12:20:49 +0200 Subject: [PATCH 137/353] Coverity: replace while(0) with while(false) fix some coverity warnings by using while(false) instead of while(0). Signed-off-by: Ahmet Findikci --- include/log4cplus/loggingmacros.h | 10 +++++----- include/log4cplus/thread/syncprims-pub-impl.h | 2 +- simpleserver/loggingserver.cxx | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index cd339181b..d8b640811 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -55,7 +55,7 @@ #define LOG4CPLUS_DOWHILE_NOTHING() \ LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ - do { } while (0) \ + do { } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() #if defined(LOG4CPLUS_DISABLE_FATAL) && !defined(LOG4CPLUS_DISABLE_ERROR) @@ -222,7 +222,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_FILE (), __LINE__, \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ - } while (0) \ + } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() @@ -238,7 +238,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_FILE (), __LINE__, \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ - } while(0) \ + } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() #define LOG4CPLUS_MACRO_FMT_BODY(logger, logLevel, ...) \ @@ -256,7 +256,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_FILE (), __LINE__, \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ - } while(0) \ + } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() /** @@ -398,7 +398,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_FATAL_STR ((logger), \ LOG4CPLUS_TEXT ("failed condition: ") \ LOG4CPLUS_TEXT (LOG4CPLUS_ASSERT_STRINGIFY (condition))); \ - } while (0) \ + } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index c549d3db7..7958584af 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -44,7 +44,7 @@ #define LOG4CPLUS_THROW_RTE(msg) \ do { log4cplus::thread::impl::syncprims_throw_exception (msg, __FILE__, \ - __LINE__); } while (0) + __LINE__); } while (false) namespace log4cplus { namespace thread { diff --git a/simpleserver/loggingserver.cxx b/simpleserver/loggingserver.cxx index 45c0e9a46..55e60737d 100644 --- a/simpleserver/loggingserver.cxx +++ b/simpleserver/loggingserver.cxx @@ -190,7 +190,7 @@ loggingserver::ClientThread::run() { try { - while (1) + while (true) { if (!clientsock.isOpen()) break; From 0a7ca5dd89cf76dd1a41d209dc88d951d536c888 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 19 Nov 2022 20:43:25 +0100 Subject: [PATCH 138/353] Update to Automake 1.16.5 and Libtool 2.4.7. --- Makefile.in | 13 +- aclocal.m4 | 334 +++++++---- ar-lib | 2 +- compile | 2 +- config.guess | 1262 ++++++++++++++++++++------------------- config.sub | 99 +-- configure | 646 ++++++++++++++------ depcomp | 2 +- include/Makefile.in | 10 +- ltmain.sh | 855 +++++++++++++++++--------- m4/libtool.m4 | 227 ++++--- m4/ltoptions.m4 | 4 +- m4/ltsugar.m4 | 2 +- m4/ltversion.m4 | 13 +- m4/lt~obsolete.m4 | 4 +- missing | 2 +- py-compile | 24 +- scripts/doautoreconf.sh | 4 +- 18 files changed, 2168 insertions(+), 1337 deletions(-) diff --git a/Makefile.in b/Makefile.in index c4e38d9b5..370e687bd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1023,9 +1023,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -1044,6 +1041,8 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ @@ -1059,8 +1058,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_THREADS = @ENABLE_THREADS@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX17 = @HAVE_CXX17@ INSTALL = @INSTALL@ @@ -3859,6 +3860,8 @@ check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) +install-pkgpyexecLTLIBRARIES: install-libLTLIBRARIES + installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgpyexecdir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(pkgconfigdir)"; do \ diff --git a/aclocal.m4 b/aclocal.m4 index 54120652b..1434c51f7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.3 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.3], [], +m4_if([$1], [1.16.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.3])dnl +[AM_AUTOMAKE_VERSION([1.16.5])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -118,7 +118,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -170,7 +170,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -201,7 +201,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -392,7 +392,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -460,7 +460,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -488,6 +488,10 @@ m4_defn([AC_PROG_CC]) # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -524,7 +528,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl @@ -576,6 +580,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This @@ -657,7 +675,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -678,7 +696,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -700,7 +718,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -735,7 +753,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -778,7 +796,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -812,7 +830,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -841,7 +859,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -888,7 +906,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -967,7 +985,7 @@ AC_DEFUN([AM_PATH_PYTHON], ]) if test "$PYTHON" = :; then - dnl Run any user-specified action, or abort. + dnl Run any user-specified action, or abort. m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else @@ -976,27 +994,132 @@ AC_DEFUN([AM_PATH_PYTHON], dnl trailing zero was eliminated. So now we output just the major dnl and minor version numbers, as numbers. Apparently the tertiary dnl version is not of interest. - + dnl AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], - [am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[[:2]])"`]) + [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) - dnl Use the values of $prefix and $exec_prefix for the corresponding - dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made - dnl distinct variables so they can be overridden if need be. However, - dnl general consensus is that you shouldn't need this ability. - - AC_SUBST([PYTHON_PREFIX], ['${prefix}']) - AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) - - dnl At times (like when building shared libraries) you may want + dnl At times, e.g., when building shared libraries, you may want dnl to know which OS platform Python thinks this is. - + dnl AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) - # Just factor out some code duplication. + dnl emacs-page + dnl If --with-python-sys-prefix is given, use the values of sys.prefix + dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX + dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and + dnl ${exec_prefix} variables. + dnl + dnl The two are made distinct variables so they can be overridden if + dnl need be, although general consensus is that you shouldn't need + dnl this separation. + dnl + dnl Also allow directly setting the prefixes via configure options, + dnl overriding any default. + dnl + if test "x$prefix" = xNONE; then + am__usable_prefix=$ac_default_prefix + else + am__usable_prefix=$prefix + fi + + # Allow user to request using sys.* values from Python, + # instead of the GNU $prefix values. + AC_ARG_WITH([python-sys-prefix], + [AS_HELP_STRING([--with-python-sys-prefix], + [use Python's sys.prefix and sys.exec_prefix values])], + [am_use_python_sys=:], + [am_use_python_sys=false]) + + # Allow user to override whatever the default Python prefix is. + AC_ARG_WITH([python_prefix], + [AS_HELP_STRING([--with-python_prefix], + [override the default PYTHON_PREFIX])], + [am_python_prefix_subst=$withval + am_cv_python_prefix=$withval + AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix]) + AC_MSG_RESULT([$am_cv_python_prefix])], + [ + if $am_use_python_sys; then + # using python sys.prefix value, not GNU + AC_CACHE_CHECK([for python default $am_display_PYTHON prefix], + [am_cv_python_prefix], + [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`]) + + dnl If sys.prefix is a subdir of $prefix, replace the literal value of + dnl $prefix with a variable reference so it can be overridden. + case $am_cv_python_prefix in + $am__usable_prefix*) + am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` + am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` + ;; + *) + am_python_prefix_subst=$am_cv_python_prefix + ;; + esac + else # using GNU prefix value, not python sys.prefix + am_python_prefix_subst='${prefix}' + am_python_prefix=$am_python_prefix_subst + AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix]) + AC_MSG_RESULT([$am_python_prefix]) + fi]) + # Substituting python_prefix_subst value. + AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst]) + + # emacs-page Now do it all over again for Python exec_prefix, but with yet + # another conditional: fall back to regular prefix if that was specified. + AC_ARG_WITH([python_exec_prefix], + [AS_HELP_STRING([--with-python_exec_prefix], + [override the default PYTHON_EXEC_PREFIX])], + [am_python_exec_prefix_subst=$withval + am_cv_python_exec_prefix=$withval + AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix]) + AC_MSG_RESULT([$am_cv_python_exec_prefix])], + [ + # no explicit --with-python_exec_prefix, but if + # --with-python_prefix was given, use its value for python_exec_prefix too. + AS_IF([test -n "$with_python_prefix"], + [am_python_exec_prefix_subst=$with_python_prefix + am_cv_python_exec_prefix=$with_python_prefix + AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix]) + AC_MSG_RESULT([$am_cv_python_exec_prefix])], + [ + # Set am__usable_exec_prefix whether using GNU or Python values, + # since we use that variable for pyexecdir. + if test "x$exec_prefix" = xNONE; then + am__usable_exec_prefix=$am__usable_prefix + else + am__usable_exec_prefix=$exec_prefix + fi + # + if $am_use_python_sys; then # using python sys.exec_prefix, not GNU + AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix], + [am_cv_python_exec_prefix], + [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`]) + dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the + dnl literal value of $exec_prefix with a variable reference so it can + dnl be overridden. + case $am_cv_python_exec_prefix in + $am__usable_exec_prefix*) + am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` + am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` + ;; + *) + am_python_exec_prefix_subst=$am_cv_python_exec_prefix + ;; + esac + else # using GNU $exec_prefix, not python sys.exec_prefix + am_python_exec_prefix_subst='${exec_prefix}' + am_python_exec_prefix=$am_python_exec_prefix_subst + AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix]) + AC_MSG_RESULT([$am_python_exec_prefix]) + fi])]) + # Substituting python_exec_prefix_subst. + AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst]) + + # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility @@ -1016,96 +1139,95 @@ try: except ImportError: pass" - dnl Set up 4 directories: + dnl emacs-page Set up 4 directories: - dnl pythondir -- where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior - dnl is more consistent with lispdir.m4 for example. + dnl 1. pythondir: where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. - AC_CACHE_CHECK([for $am_display_PYTHON script directory], - [am_cv_python_pythondir], - [if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c " + dnl + AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)], + [am_cv_python_pythondir], + [if test "x$am_cv_python_prefix" = x; then + am_py_prefix=$am__usable_prefix + else + am_py_prefix=$am_cv_python_prefix + fi + am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac - ]) + ;; + esac + ]) AC_SUBST([pythondir], [$am_cv_python_pythondir]) - dnl pkgpythondir -- $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - + dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + dnl AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) - dnl pyexecdir -- directory for installing python extension modules - dnl (shared libraries) + dnl 3. pyexecdir: directory for installing python extension modules + dnl (shared libraries). dnl Query distutils for this directory. - AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], - [am_cv_python_pyexecdir], - [if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " + dnl + AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)], + [am_cv_python_pyexecdir], + [if test "x$am_cv_python_exec_prefix" = x; then + am_py_exec_prefix=$am__usable_exec_prefix + else + am_py_exec_prefix=$am_cv_python_exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac - ]) + ;; + esac + ]) AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) - dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) - + dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE) + dnl AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) dnl Run any user-specified action. $2 fi - ]) @@ -1128,7 +1250,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1147,7 +1269,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1228,7 +1350,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1288,7 +1410,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1316,7 +1438,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1335,7 +1457,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 1e9388e2a..c349042c3 100755 --- a/ar-lib +++ b/ar-lib @@ -4,7 +4,7 @@ me=ar-lib scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2020 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify diff --git a/compile b/compile index 23fcba011..df363c8fb 100755 --- a/compile +++ b/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify diff --git a/config.guess b/config.guess index 0fc11edb2..e81d3ae7c 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-11-07' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-06-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,12 +29,20 @@ timestamp='2020-11-07' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . -me=$(echo "$0" | sed -e 's,.*/,,') +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 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." @@ -84,6 +94,9 @@ if test $# != 0; then exit 1 fi +# Just in case it came from the environment. +GUESS= + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -102,8 +115,8 @@ set_cc_for_build() { # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } @@ -112,7 +125,7 @@ set_cc_for_build() { ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" + CC_FOR_BUILD=$driver break fi done @@ -131,16 +144,14 @@ if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi -UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown -UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown -UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown -UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "$UNAME_SYSTEM" in +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -149,22 +160,37 @@ Linux|GNU|GNU/*) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu #else #include + /* First heuristic to detect musl libc. */ #ifdef __DEFINED_va_list LIBC=musl - #else - LIBC=gnu #endif #endif EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -176,12 +202,11 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)) - case "$UNAME_MACHINE_ARCH" in + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; @@ -189,15 +214,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') - endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') - machine="${arch}${endian}"-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; @@ -218,10 +243,10 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -229,76 +254,82 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in + case $UNAME_VERSION in Debian*) release='-gnu' ;; *) - release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) - case "$ALPHA_CPU_TYPE" in + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -335,68 +366,69 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "$( (/bin/universe) 2>/dev/null)" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case $(/usr/bin/uname -p) in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) set_cc_for_build SUN_ARCH=i386 @@ -411,41 +443,44 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in SUN_ARCH=x86_64 fi fi - echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "$(/usr/bin/arch -k)" in + case `/usr/bin/arch -k` in Series*|S4*) - UNAME_RELEASE=$(uname -v) + UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "$(/bin/arch)" in + case `/bin/arch` in sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -455,41 +490,41 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -514,78 +549,79 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && - SYSTEM_NAME=$("$dummy" "$dummyarg") && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=$(/usr/bin/uname -p) + UNAME_PROCESSOR=`/usr/bin/uname -p` if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux"$UNAME_RELEASE" + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux"$UNAME_RELEASE" + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) if test -x /usr/bin/oslevel ; then - IBM_REV=$(/usr/bin/oslevel) + IBM_REV=`/usr/bin/oslevel` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build @@ -600,68 +636,68 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - exit ;; + ;; *:AIX:*:[4567]) - IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if test -x /usr/bin/lslpp ; then - IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - case "$UNAME_MACHINE" in + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if test -x /usr/bin/getconf; then - sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) - sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) - case "$sc_cpu_version" in + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in + case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 @@ -703,7 +739,7 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac @@ -728,12 +764,12 @@ EOF HP_ARCH=hppa64 fi fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') - echo ia64-hp-hpux"$HPUX_REV" - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -761,38 +797,38 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) if test -x /usr/sbin/sysversion ; then - echo "$UNAME_MACHINE"-unknown-osf1mk + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo "$UNAME_MACHINE"-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -800,17 +836,18 @@ EOF fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -818,114 +855,126 @@ EOF -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') - FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; arm:FreeBSD:*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi - exit ;; + ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=$(/usr/bin/uname -p) - case "$UNAME_PROCESSOR" in + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; *:Interix*:*) - case "$UNAME_MACHINE" in + case $UNAME_MACHINE in x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) - case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -936,60 +985,63 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 @@ -1034,65 +1086,66 @@ EOF #endif #endif EOF - eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level - case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) set_cc_for_build LIBCABI=$LIBC @@ -1101,71 +1154,71 @@ EOF (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_X32 >/dev/null then - LIBCABI="$LIBC"x32 + LIBCABI=${LIBC}x32 fi fi - echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; i*86:*:4.*:*) - UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. - case $(/bin/uname -X | grep "^Machine") in + case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then - UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 @@ -1173,11 +1226,11 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1185,37 +1238,37 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1226,7 +1279,7 @@ EOF NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ - && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ @@ -1234,118 +1287,118 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - echo "$UNAME_MACHINE"-sni-sysv4 + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if test -d /usr/nec; then - echo mips-nec-sysv"$UNAME_RELEASE" + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv"$UNAME_RELEASE" + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; + GUESS=i586-pc-haiku + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; arm64:Darwin:*:*) - echo aarch64-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac @@ -1379,109 +1432,116 @@ EOF # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=$(uname -p) + UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) - UNAME_MACHINE=$( (uname -p) 2>/dev/null) - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" </dev/null); + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else @@ -1613,7 +1673,7 @@ main () } EOF -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. @@ -1621,7 +1681,7 @@ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown) -uname -r = $( (uname -r) 2>/dev/null || echo unknown) -uname -s = $( (uname -s) 2>/dev/null || echo unknown) -uname -v = $( (uname -v) 2>/dev/null || echo unknown) +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` -/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) -/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` -hostinfo = $( (hostinfo) 2>/dev/null) -/bin/universe = $( (/bin/universe) 2>/dev/null) -/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) -/bin/arch = $( (/bin/arch) 2>/dev/null) -/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) -/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" diff --git a/config.sub b/config.sub index c874b7a9d..d74fb6dea 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2020-11-07' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-08-14' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -33,7 +35,7 @@ timestamp='2020-11-07' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -50,7 +52,14 @@ timestamp='2020-11-07' # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. -me=$(echo "$0" | sed -e 's,.*/,,') +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS @@ -67,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2021 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." @@ -112,9 +121,11 @@ esac # Split fields of configuration type # shellcheck disable=SC2162 +saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <&2 @@ -1749,6 +1778,8 @@ case $kernel-$os in ;; kfreebsd*-gnu* | kopensolaris*-gnu*) ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; nto-qnx*) ;; os2-emx) diff --git a/configure b/configure index 03c3fca7a..96b7aafb1 100755 --- a/configure +++ b/configure @@ -673,6 +673,7 @@ NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB +FILECMD LN_S NM ac_ct_DUMPBIN @@ -696,9 +697,9 @@ pkgpyexecdir pyexecdir pkgpythondir pythondir -PYTHON_PLATFORM PYTHON_EXEC_PREFIX PYTHON_PREFIX +PYTHON_PLATFORM PYTHON_VERSION PYTHON WITH_SWIG_FALSE @@ -774,6 +775,9 @@ AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -874,6 +878,9 @@ enable_threads with_qt with_qt5 with_python +with_python_sys_prefix +with_python_prefix +with_python_exec_prefix enable_static with_pic enable_shared @@ -1583,6 +1590,11 @@ Optional Packages: --with-qt Build liblog4cplusqt4debugappender. --with-qt5 Build liblog4cplusqt5debugappender. --with-python Build Python/SWIG bindings. + --with-python-sys-prefix + use Python's sys.prefix and sys.exec_prefix values + --with-python_prefix override the default PYTHON_PREFIX + --with-python_exec_prefix + override the default PYTHON_EXEC_PREFIX --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both @@ -3768,6 +3780,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile @@ -14659,31 +14685,23 @@ fi if test "$PYTHON" = :; then - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 + as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 else - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 printf %s "checking for $am_display_PYTHON version... " >&6; } if test ${am_cv_python_version+y} then : printf %s "(cached) " >&6 else $as_nop - am_cv_python_version=`$PYTHON -c "import sys; print('%u.%u' % sys.version_info[:2])"` + am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 printf "%s\n" "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version - - PYTHON_PREFIX='${prefix}' - - PYTHON_EXEC_PREFIX='${exec_prefix}' - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 printf %s "checking for $am_display_PYTHON platform... " >&6; } if test ${am_cv_python_platform+y} then : @@ -14696,7 +14714,143 @@ printf "%s\n" "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform - # Just factor out some code duplication. + if test "x$prefix" = xNONE; then + am__usable_prefix=$ac_default_prefix + else + am__usable_prefix=$prefix + fi + + # Allow user to request using sys.* values from Python, + # instead of the GNU $prefix values. + +# Check whether --with-python-sys-prefix was given. +if test ${with_python_sys_prefix+y} +then : + withval=$with_python_sys_prefix; am_use_python_sys=: +else $as_nop + am_use_python_sys=false +fi + + + # Allow user to override whatever the default Python prefix is. + +# Check whether --with-python_prefix was given. +if test ${with_python_prefix+y} +then : + withval=$with_python_prefix; am_python_prefix_subst=$withval + am_cv_python_prefix=$withval + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON prefix" >&5 +printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 +printf "%s\n" "$am_cv_python_prefix" >&6; } +else $as_nop + + if $am_use_python_sys; then + # using python sys.prefix value, not GNU + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 +printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } +if test ${am_cv_python_prefix+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 +printf "%s\n" "$am_cv_python_prefix" >&6; } + + case $am_cv_python_prefix in + $am__usable_prefix*) + am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` + am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` + ;; + *) + am_python_prefix_subst=$am_cv_python_prefix + ;; + esac + else # using GNU prefix value, not python sys.prefix + am_python_prefix_subst='${prefix}' + am_python_prefix=$am_python_prefix_subst + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON prefix" >&5 +printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 +printf "%s\n" "$am_python_prefix" >&6; } + fi +fi + + # Substituting python_prefix_subst value. + PYTHON_PREFIX=$am_python_prefix_subst + + + # emacs-page Now do it all over again for Python exec_prefix, but with yet + # another conditional: fall back to regular prefix if that was specified. + +# Check whether --with-python_exec_prefix was given. +if test ${with_python_exec_prefix+y} +then : + withval=$with_python_exec_prefix; am_python_exec_prefix_subst=$withval + am_cv_python_exec_prefix=$withval + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } +else $as_nop + + # no explicit --with-python_exec_prefix, but if + # --with-python_prefix was given, use its value for python_exec_prefix too. + if test -n "$with_python_prefix" +then : + am_python_exec_prefix_subst=$with_python_prefix + am_cv_python_exec_prefix=$with_python_prefix + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python_prefix-given $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } +else $as_nop + + # Set am__usable_exec_prefix whether using GNU or Python values, + # since we use that variable for pyexecdir. + if test "x$exec_prefix" = xNONE; then + am__usable_exec_prefix=$am__usable_prefix + else + am__usable_exec_prefix=$exec_prefix + fi + # + if $am_use_python_sys; then # using python sys.exec_prefix, not GNU + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; } +if test ${am_cv_python_exec_prefix+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } + case $am_cv_python_exec_prefix in + $am__usable_exec_prefix*) + am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` + am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` + ;; + *) + am_python_exec_prefix_subst=$am_cv_python_exec_prefix + ;; + esac + else # using GNU $exec_prefix, not python sys.exec_prefix + am_python_exec_prefix_subst='${exec_prefix}' + am_python_exec_prefix=$am_python_exec_prefix_subst + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 +printf "%s\n" "$am_python_exec_prefix" >&6; } + fi +fi +fi + + # Substituting python_exec_prefix_subst. + PYTHON_EXEC_PREFIX=$am_python_exec_prefix_subst + + + # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility @@ -14717,40 +14871,39 @@ except ImportError: pass" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 -printf %s "checking for $am_display_PYTHON script directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 +printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6; } if test ${am_cv_python_pythondir+y} then : printf %s "(cached) " >&6 else $as_nop - if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c " + if test "x$am_cv_python_prefix" = x; then + am_py_prefix=$am__usable_prefix + else + am_py_prefix=$am_cv_python_prefix + fi + am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac + ;; + esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 @@ -14758,44 +14911,42 @@ printf "%s\n" "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir - - pkgpythondir=\${pythondir}/$PACKAGE + pkgpythondir=\${pythondir}/$PACKAGE - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 -printf %s "checking for $am_display_PYTHON extension module directory... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 +printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } if test ${am_cv_python_pyexecdir+y} then : printf %s "(cached) " >&6 else $as_nop - if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " + if test "x$am_cv_python_exec_prefix" = x; then + am_py_exec_prefix=$am__usable_exec_prefix + else + am_py_exec_prefix=$am_cv_python_exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac + ;; + esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 @@ -14803,15 +14954,13 @@ printf "%s\n" "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir - - pkgpyexecdir=\${pyexecdir}/$PACKAGE + pkgpyexecdir=\${pyexecdir}/$PACKAGE fi - # # Allow the use of a (user set) custom python version # @@ -15185,8 +15334,8 @@ esac -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' @@ -15597,13 +15746,13 @@ else 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 @@ -15741,7 +15890,7 @@ esac 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" ;; @@ -15845,7 +15994,7 @@ else $as_nop 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` @@ -15888,7 +16037,7 @@ else $as_nop 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 @@ -16093,6 +16242,114 @@ esac +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 @@ -16233,7 +16490,7 @@ beos*) 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 ;; @@ -16267,14 +16524,14 @@ darwin* | rhapsody*) 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 @@ -16288,7 +16545,7 @@ haiku*) ;; 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' @@ -16335,7 +16592,7 @@ netbsd*) 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 ;; @@ -16705,13 +16962,29 @@ esac fi : ${AR=ar} -: ${AR_FLAGS=cru} +# 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. + @@ -17128,7 +17401,7 @@ esac 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'" @@ -17146,20 +17419,20 @@ fi # 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'"\ @@ -17183,7 +17456,7 @@ for ac_symprfx in "" "_"; do 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};"\ @@ -17201,9 +17474,9 @@ for ac_symprfx in "" "_"; do " 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 @@ -17406,7 +17679,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -17531,7 +17804,7 @@ ia64-*-hpux*) 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 ;; @@ -17552,7 +17825,7 @@ ia64-*-hpux*) 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" ;; @@ -17564,7 +17837,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -17590,7 +17863,7 @@ mips64*-*linux*) 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" ;; @@ -17598,7 +17871,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -17606,7 +17879,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -17630,14 +17903,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) 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" ;; @@ -17745,7 +18018,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } 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*) @@ -18528,8 +18801,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru 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 @@ -18556,17 +18829,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } _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[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _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 @@ -19261,8 +19529,8 @@ esac 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 @@ -19774,7 +20042,7 @@ lt_prog_compiler_static= 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' @@ -20197,15 +20465,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries 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*) @@ -20257,7 +20525,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries 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 ... @@ -20369,6 +20637,7 @@ _LT_EOF 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]*) @@ -20383,7 +20652,7 @@ _LT_EOF # 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) @@ -20426,7 +20695,7 @@ _LT_EOF 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 @@ -20438,7 +20707,7 @@ _LT_EOF 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 @@ -20454,7 +20723,7 @@ _LT_EOF 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 @@ -20586,7 +20855,7 @@ _LT_EOF 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 @@ -20857,12 +21126,12 @@ fi 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 @@ -20903,7 +21172,7 @@ fi 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. @@ -20944,8 +21213,8 @@ fi 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 @@ -20979,7 +21248,7 @@ fi ;; # 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 @@ -21230,6 +21499,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } 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*) @@ -21922,7 +22192,7 @@ cygwin* | mingw* | pw32* | cegcc*) 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" ;; @@ -21932,14 +22202,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; 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' @@ -21958,7 +22228,7 @@ cygwin* | mingw* | pw32* | cegcc*) 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 @@ -21995,7 +22265,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # 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' ;; @@ -22028,7 +22298,7 @@ dgux*) 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 @@ -23181,30 +23451,41 @@ striplib= 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 @@ -23974,8 +24255,8 @@ fi 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=' ' @@ -24066,11 +24347,11 @@ fi 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 @@ -24105,6 +24386,7 @@ fi 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*) @@ -24135,7 +24417,7 @@ fi 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 @@ -24272,7 +24554,7 @@ fi # 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 @@ -24412,13 +24694,13 @@ fi 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' @@ -25075,7 +25357,7 @@ lt_prog_compiler_static_CXX= ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -25158,7 +25440,7 @@ lt_prog_compiler_static_CXX= 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' @@ -25545,7 +25827,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries 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*) @@ -25553,7 +25835,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -25901,7 +26183,7 @@ cygwin* | mingw* | pw32* | cegcc*) 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*) @@ -25910,14 +26192,14 @@ cygwin* | mingw* | pw32* | cegcc*) ;; 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' @@ -25936,7 +26218,7 @@ cygwin* | mingw* | pw32* | cegcc*) 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 @@ -25973,7 +26255,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # 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' ;; @@ -26005,7 +26287,7 @@ dgux*) 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 @@ -27441,12 +27723,14 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q 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"`' @@ -27624,13 +27908,13 @@ LN_S \ 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 \ @@ -28661,6 +28945,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # 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 @@ -28679,8 +28966,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # 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 @@ -29070,7 +29360,7 @@ ltmain=$ac_aux_dir/ltmain.sh # 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 --git a/depcomp b/depcomp index 6b391623c..715e34311 100755 --- a/depcomp +++ b/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # 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 diff --git a/include/Makefile.in b/include/Makefile.in index bcb9447af..6975a5732 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -188,8 +188,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ @@ -207,6 +205,8 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ @@ -222,8 +222,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_THREADS = @ENABLE_THREADS@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GREP = @GREP@ HAVE_CXX17 = @HAVE_CXX17@ INSTALL = @INSTALL@ diff --git a/ltmain.sh b/ltmain.sh index 0f0a2da3f..2a50d7f6f 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -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 +# libtool (GNU libtool) 2.4.7 # 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,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6 # 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 @@ do _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 @@ if test "${PATH_SEPARATOR+set}" != set; then 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 @@ test -z "$SED" && { 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 @@ test -z "$GREP" && { 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 @@ sed_double_backslash="\ 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 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then { $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_relative_path () } -# 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 @@ func_show_eval () _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 @@ func_show_eval_locale () _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 @@ func_lt_ver () # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # 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 @@ scriptversion=2014-01-07.03; # UTC # # 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 @@ scriptversion=2014-01-07.03; # UTC # 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 @@ fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## # 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_add_hook () # 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_remove_hook () } +# 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. @@ -1532,22 +1708,19 @@ func_run_hooks () 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 - eval $_G_hook '"$@"' - - # 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 + 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 - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result } @@ -1557,10 +1730,18 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: +# 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: # # my_options_prep () # { @@ -1570,9 +1751,8 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1761,36 @@ func_run_hooks () # { # $debug_cmd # -# # Note that for efficiency, we parse as many options as we can +# args_changed=false +# +# # 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 # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # 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 # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi # } # func_add_hook func_parse_options my_silent_option # @@ -1610,17 +1801,26 @@ func_run_hooks () # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_options_quoted=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + 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 - func_options_result=$func_run_hooks_result + $_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 + } } @@ -1649,9 +1859,8 @@ func_options () # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# 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. func_hookable func_options_prep func_options_prep () { @@ -1662,9 +1871,7 @@ func_options_prep () opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + func_propagate_result func_run_hooks func_options_prep } @@ -1676,25 +1883,32 @@ func_parse_options () { $debug_cmd - func_parse_options_result= - + _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. func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + 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 ;; @@ -1704,7 +1918,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ func_parse_options () shift ;; - --) break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi } @@ -1782,12 +2008,10 @@ func_validate_options () test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" 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 - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result } @@ -1843,8 +2067,8 @@ func_missing_arg () # 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 \ @@ -1859,8 +2083,9 @@ then 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. @@ -1870,7 +2095,7 @@ else 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 @@ -1896,7 +2121,7 @@ else { $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 @@ -1938,31 +2163,44 @@ func_usage_message () # 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 $? } @@ -1972,12 +2210,12 @@ func_version () # 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: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2068,7 +2306,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2124,7 +2362,7 @@ fi # 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." } @@ -2270,6 +2508,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2634,20 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi } func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2704,8 @@ libtool_validate_options () } # 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 @@ -3418,8 +3671,8 @@ func_mode_compile () 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" "/" "" @@ -3492,8 +3745,8 @@ compiler." 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 @@ -3648,7 +3901,8 @@ This mode accepts the following additional options: -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. @@ -3754,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially: -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) @@ -4096,8 +4352,8 @@ func_mode_install () 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 @@ -4107,8 +4363,8 @@ func_mode_install () # 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=: ;; @@ -4165,12 +4421,12 @@ func_mode_install () 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" && \ @@ -4181,8 +4437,8 @@ func_mode_install () 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 @@ -4478,8 +4734,8 @@ func_mode_install () 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 @@ -5258,7 +5514,8 @@ else 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. @@ -5268,7 +5525,7 @@ func_fallback_echo () \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6611,9 +6868,9 @@ func_mode_link () 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 @@ -6849,6 +7106,13 @@ func_mode_link () 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" @@ -7019,7 +7283,7 @@ func_mode_link () # 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 ;; @@ -7039,7 +7303,7 @@ func_mode_link () 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 ;; @@ -7069,8 +7333,20 @@ func_mode_link () 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" @@ -7211,9 +7487,9 @@ func_mode_link () 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" @@ -7227,16 +7503,21 @@ func_mode_link () 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 @@ -7254,8 +7535,8 @@ func_mode_link () # -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: @@ -7272,12 +7553,17 @@ func_mode_link () # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -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=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-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" @@ -7298,15 +7584,15 @@ func_mode_link () 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) @@ -7426,8 +7712,8 @@ func_mode_link () *) # 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 @@ -8632,7 +8918,7 @@ func_mode_link () 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 @@ -8805,7 +9091,7 @@ func_mode_link () # 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 @@ -8896,7 +9182,7 @@ func_mode_link () versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9122,7 +9408,7 @@ func_mode_link () *-*-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*) @@ -9933,8 +10219,8 @@ EOF 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=$? @@ -10027,8 +10313,8 @@ EOF 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=$? @@ -10502,12 +10788,13 @@ EOF 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. @@ -10747,13 +11034,15 @@ EOF 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 --git a/m4/libtool.m4 b/m4/libtool.m4 index a3bc337b7..79a2451ef 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -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 @@ m4_define([_LT_COPYING], [dnl # 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_FILEUTILS_DEFAULTS])dnl 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 @@ esac 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 @@ -778,7 +780,7 @@ _LT_EOF # 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" || @@ -1042,8 +1044,8 @@ int forced_loaded() { return 2;} _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 cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru 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 @@ -1067,17 +1069,12 @@ _LT_EOF _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[[91]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _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 @@ -1126,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], 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 @@ -1245,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) # _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 @@ -1262,7 +1260,7 @@ case $with_sysroot in #( fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1292,7 +1290,7 @@ ia64-*-hpux*) # 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 ;; @@ -1309,7 +1307,7 @@ ia64-*-hpux*) 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" ;; @@ -1321,7 +1319,7 @@ ia64-*-hpux*) ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1343,7 +1341,7 @@ mips64*-*linux*) 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" ;; @@ -1351,7 +1349,7 @@ mips64*-*linux*) emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1359,7 +1357,7 @@ mips64*-*linux*) emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1379,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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" ;; @@ -1454,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # 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*) @@ -1493,9 +1491,22 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} _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 @@ -1714,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 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` @@ -1757,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 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 @@ -2207,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB], 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]) @@ -2549,7 +2569,7 @@ cygwin* | mingw* | pw32* | cegcc*) 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"]) ;; @@ -2559,14 +2579,14 @@ m4_if([$1], [],[ ;; 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' @@ -2585,7 +2605,7 @@ m4_if([$1], [],[ 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 @@ -2622,7 +2642,7 @@ m4_if([$1], [],[ ;; *) - # 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' ;; @@ -2655,7 +2675,7 @@ dgux*) 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 @@ -3454,7 +3474,7 @@ beos*) 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 ;; @@ -3488,14 +3508,14 @@ darwin* | rhapsody*) 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 @@ -3509,7 +3529,7 @@ haiku*) ;; 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' @@ -3556,7 +3576,7 @@ netbsd*) 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 ;; @@ -3683,13 +3703,13 @@ else 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 @@ -3715,7 +3735,7 @@ else # 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" ;; @@ -3955,7 +3975,7 @@ esac 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'" @@ -3973,20 +3993,20 @@ fi # 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'"\ @@ -4010,7 +4030,7 @@ for ac_symprfx in "" "_"; do 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};"\ @@ -4028,9 +4048,9 @@ for ac_symprfx in "" "_"; do " 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 @@ -4317,7 +4337,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4400,7 +4420,7 @@ m4_if([$1], [CXX], [ _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' @@ -4736,7 +4756,7 @@ m4_if([$1], [CXX], [ _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' @@ -4919,7 +4939,7 @@ m4_if([$1], [CXX], [ 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*) @@ -4927,7 +4947,7 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -4984,15 +5004,15 @@ dnl Note also adjust exclude_expsyms for C++ above. 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*) @@ -5044,7 +5064,7 @@ dnl Note also adjust exclude_expsyms for C++ above. _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 ... @@ -5156,6 +5176,7 @@ _LT_EOF 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]]*) @@ -5170,7 +5191,7 @@ _LT_EOF # 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) @@ -5213,7 +5234,7 @@ _LT_EOF _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 @@ -5225,7 +5246,7 @@ _LT_EOF 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 @@ -5241,7 +5262,7 @@ _LT_EOF _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 @@ -5373,7 +5394,7 @@ _LT_EOF 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 @@ -5556,12 +5577,12 @@ _LT_EOF 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 @@ -5602,7 +5623,7 @@ _LT_EOF 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. @@ -5650,7 +5671,7 @@ _LT_EOF ;; # 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 @@ -5861,6 +5882,7 @@ _LT_EOF 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*) @@ -6631,8 +6653,8 @@ if test yes != "$_lt_caught_CXX_error"; then 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)=' ' @@ -6730,6 +6752,7 @@ if test yes != "$_lt_caught_CXX_error"; then 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*) @@ -6760,7 +6783,7 @@ if test yes != "$_lt_caught_CXX_error"; then _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 @@ -6897,7 +6920,7 @@ if test yes != "$_lt_caught_CXX_error"; then # 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 @@ -7037,13 +7060,13 @@ if test yes != "$_lt_caught_CXX_error"; then _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' @@ -8189,6 +8212,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 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 --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index 94b082976..b0b5e9c21 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -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 --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 index 48bc9344a..902508bd9 100644 --- a/m4/ltsugar.m4 +++ b/m4/ltsugar.m4 @@ -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 --git a/m4/ltversion.m4 b/m4/ltversion.m4 index fa04b52a3..b155d0ace 100644 --- a/m4/ltversion.m4 +++ b/m4/ltversion.m4 @@ -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 @@ -9,15 +10,15 @@ # @configure_input@ -# serial 4179 ltversion.m4 +# serial 4245 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' +[macro_version='2.4.7' +macro_revision='2.4.7' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index c6b26f88f..0f7a8759d 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -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 --git a/missing b/missing index 8d0eaad25..1fe1611f1 100755 --- a/missing +++ b/missing @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/py-compile b/py-compile index e56d98d6e..81b122b0a 100755 --- a/py-compile +++ b/py-compile @@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2020-02-19.23; # UTC +scriptversion=2021-02-27.01; # UTC -# Copyright (C) 2000-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2021 Free Software Foundation, Inc. # 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 @@ -27,7 +27,7 @@ scriptversion=2020-02-19.23; # UTC # bugs to or send patches to # . -if [ -z "$PYTHON" ]; then +if test -z "$PYTHON"; then PYTHON=python fi @@ -96,26 +96,26 @@ done files=$* if test -z "$files"; then - usage_error "no files given" + usage_error "no files given" fi # if basedir was given, then it should be prepended to filenames before # byte compilation. -if [ -z "$basedir" ]; then - pathtrans="path = file" +if test -z "$basedir"; then + pathtrans="path = file" else - pathtrans="path = os.path.join('$basedir', file)" + pathtrans="path = os.path.join('$basedir', file)" fi # if destdir was given, then it needs to be prepended to the filename to # byte compile but not go into the compiled file. -if [ -z "$destdir" ]; then - filetrans="filepath = path" +if test -z "$destdir"; then + filetrans="filepath = path" else - filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" + filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi -python_major=$($PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q') +python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'` if test -z "$python_major"; then echo "$me: could not determine $PYTHON major version, guessing 3" >&2 python_major=3 @@ -176,7 +176,7 @@ for file in files.split(): py_compile.compile(filepath, $import_call(filepath$import_arg2), path) else: py_compile.compile(filepath, filepath + 'o', path) -sys.stdout.write('\n')" 2>/dev/null || : +sys.stdout.write('\n')" 2>/dev/null || exit $? # Local Variables: # mode: shell-script diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 2833355b5..48ef49a2c 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,8 +1,8 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.16.3 +export AUTOMAKE_SUFFIX=-1.16.5 export AUTOCONF_SUFFIX=-2.71 -export LIBTOOL_SUFFIX=-2.4.6 +export LIBTOOL_SUFFIX=-2.4.7 export ACLOCAL="aclocal${AUTOMAKE_SUFFIX}" export AUTOMAKE="automake${AUTOMAKE_SUFFIX}" From 670e0534c3b4077cee59cc4c09084a516e99222f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 19 Nov 2022 21:45:14 +0100 Subject: [PATCH 139/353] Remove "brew install tree" from GitHub action. --- .github/workflows/android.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 4b7318285..82eb1ccd0 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -16,8 +16,6 @@ jobs: runs-on: ubuntu-20.04 steps: - - run: brew install tree - - uses: actions/checkout@v2 with: submodules: recursive From fcef3ab4a6fcd4e1371120da49d8d24e1d299739 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 19 Nov 2022 21:49:50 +0100 Subject: [PATCH 140/353] Update GitHub actions to actions/checkout@v3. --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 82eb1ccd0..e6ae4d4f1 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive From 13a7c646c3433465f66950d492db9fc9525ae03d Mon Sep 17 00:00:00 2001 From: Choy Kho Yee Date: Tue, 31 Jan 2023 23:54:20 +0900 Subject: [PATCH 141/353] add locale support to ConsoleAppender. ref. - existing implementation in FileAppender. - previous attempt by billgao87@ in https://github.com/log4cplus/log4cplus/pull/373. --- include/log4cplus/consoleappender.h | 20 ++++++++++++++++++++ include/log4cplus/internal/env.h | 4 ++++ src/consoleappender.cxx | 23 +++++++++++++++++++++-- src/env.cxx | 27 +++++++++++++++++++++++++++ src/fileappender.cxx | 27 +-------------------------- 5 files changed, 73 insertions(+), 28 deletions(-) diff --git a/include/log4cplus/consoleappender.h b/include/log4cplus/consoleappender.h index dfbcd24d1..3da24c817 100644 --- a/include/log4cplus/consoleappender.h +++ b/include/log4cplus/consoleappender.h @@ -31,6 +31,7 @@ #endif #include +#include namespace log4cplus { /** @@ -48,6 +49,23 @@ namespace log4cplus { *
When it is set true, output stream will be flushed after * each appended event.
* + *
Locale
+ *
This property specifies a locale name that will be imbued + * into output stream. Locale can be specified either by system + * specific locale name, e.g., en_US.UTF-8, or by one of + * four recognized keywords: GLOBAL, DEFAULT + * (which is an alias for GLOBAL), USER and + * CLASSIC. When specified locale is not available, + * GLOBAL is used instead. It is possible to register + * additional locale keywords by registering an instance of + * spi::LocaleFactory in + * spi::LocaleFactoryRegistry. + * \sa spi::getLocaleFactoryRegistry(). + * + * Note: if Locale is set, ImmediateFlush will + * be set to true automatically. + *
+ * * * \sa Appender */ @@ -77,6 +95,8 @@ namespace log4cplus { * will be flushed at the end of each append operation. */ bool immediateFlush; + + std::unique_ptr locale; }; } // end namespace log4cplus diff --git a/include/log4cplus/internal/env.h b/include/log4cplus/internal/env.h index 615e6f03b..549a89f61 100644 --- a/include/log4cplus/internal/env.h +++ b/include/log4cplus/internal/env.h @@ -39,6 +39,7 @@ #include #include +#include #if defined (_WIN32) #include @@ -57,6 +58,9 @@ namespace log4cplus { namespace internal { //! Get environment variable value. bool get_env_var (tstring & value, tstring const & name); +//! Get locale. +std::locale get_locale_by_name(tstring const& locale_name); + //! Parse a string as a boolean value. bool parse_bool (bool & val, tstring const & str); diff --git a/src/consoleappender.cxx b/src/consoleappender.cxx index e48f3f5a5..a0cf25259 100644 --- a/src/consoleappender.cxx +++ b/src/consoleappender.cxx @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -55,7 +56,8 @@ ConsoleAppender::getOutputMutex () ConsoleAppender::ConsoleAppender(bool logToStdErr_, bool immediateFlush_) : logToStdErr(logToStdErr_), - immediateFlush(immediateFlush_) + immediateFlush(immediateFlush_), + locale(nullptr) { } @@ -64,10 +66,18 @@ ConsoleAppender::ConsoleAppender(bool logToStdErr_, ConsoleAppender::ConsoleAppender(const helpers::Properties & properties) : Appender(properties), logToStdErr(false), - immediateFlush(false) + immediateFlush(false), + locale(nullptr) { properties.getBool (logToStdErr, LOG4CPLUS_TEXT("logToStdErr")); properties.getBool (immediateFlush, LOG4CPLUS_TEXT("ImmediateFlush")); + + tstring localeName; + if (properties.getString(localeName, LOG4CPLUS_TEXT("Locale"))) { + locale = std::make_unique(internal::get_locale_by_name(localeName)); + // we need to flash immediately if non-default locale is used + immediateFlush = true; + } } @@ -103,10 +113,19 @@ ConsoleAppender::append(const spi::InternalLoggingEvent& event) thread::MutexGuard guard (getOutputMutex ()); tostream& output = (logToStdErr ? tcerr : tcout); + + std::locale cur_loc; + if (locale != nullptr) { + cur_loc = output.getloc(); + output.imbue(*locale); + } layout->formatAndAppend(output, event); if(immediateFlush) { output.flush(); } + if (locale != nullptr) { + output.imbue(cur_loc); + } } diff --git a/src/env.cxx b/src/env.cxx index 910b2568d..a9d33c69e 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include #ifdef LOG4CPLUS_HAVE_SYS_TYPES_H @@ -150,6 +152,31 @@ get_env_var (tstring & value, tstring const & name) } +std::locale +get_locale_by_name(tstring const& locale_name) +{ + try + { + spi::LocaleFactoryRegistry& reg = spi::getLocaleFactoryRegistry(); + spi::LocaleFactory* fact = reg.get(locale_name); + if (fact) + { + helpers::Properties props; + props.setProperty(LOG4CPLUS_TEXT("Locale"), locale_name); + return fact->createObject(props); + } + else + return std::locale(LOG4CPLUS_TSTRING_TO_STRING(locale_name).c_str()); + } + catch (std::runtime_error const&) + { + helpers::getLogLog().error( + LOG4CPLUS_TEXT("Failed to create locale " + locale_name)); + return std::locale(); + } +} + + bool parse_bool (bool & val, tstring const & str) { diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 7ffcb8214..d18473dd5 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -190,30 +189,6 @@ rolloverFiles(const tstring& filename, unsigned int maxBackupIndex) } } // end rolloverFiles() - -static -std::locale -get_locale_by_name (tstring const & locale_name) -{try -{ - spi::LocaleFactoryRegistry & reg = spi::getLocaleFactoryRegistry (); - spi::LocaleFactory * fact = reg.get (locale_name); - if (fact) - { - helpers::Properties props; - props.setProperty (LOG4CPLUS_TEXT ("Locale"), locale_name); - return fact->createObject (props); - } - else - return std::locale (LOG4CPLUS_TSTRING_TO_STRING (locale_name).c_str ()); -} -catch (std::runtime_error const &) -{ - helpers::getLogLog ().error ( - LOG4CPLUS_TEXT ("Failed to create locale " + locale_name)); - return std::locale (); -}} - } // namespace @@ -304,7 +279,7 @@ FileAppenderBase::init() } open(fileOpenMode); - imbue (get_locale_by_name (localeName)); + imbue (internal::get_locale_by_name (localeName)); } /////////////////////////////////////////////////////////////////////////////// From e5d05e34194009451b9bb74c5a2945e83f249fd6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 3 Feb 2023 21:23:26 +0100 Subject: [PATCH 142/353] Handle gethostname() returning EINVAL in case of Glibc 2.1 (ancient). --- src/socket-unix.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 2f3e3adc1..62714fa98 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -457,11 +457,17 @@ getHostname (bool fqdn) hostname = &hn[0]; break; } + else if (false #if defined (LOG4CPLUS_HAVE_ENAMETOOLONG) - else if (errno == ENAMETOOLONG) + || errno == ENAMETOOLONG +#endif +#if defined (__GLIBC__) || defined (__GNU_LIBRARY__) + // Before version 2.1, glibc uses EINVAL for this case. + || errno == EINVAL +#endif + ) // Out buffer was too short. Retry with buffer twice the size. hn.resize (hn.size () * 2, 0); -#endif else break; } From 92c59c51d22117ea2cd3330658f11dfc2566df71 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 3 Feb 2023 22:38:23 +0100 Subject: [PATCH 143/353] SysLogAppender: Allow non-FQDN hostname in syslog messages. --- include/log4cplus/syslogappender.h | 6 +++++- src/syslogappender.cxx | 9 ++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/include/log4cplus/syslogappender.h b/include/log4cplus/syslogappender.h index eb9846ac2..4f9276442 100644 --- a/include/log4cplus/syslogappender.h +++ b/include/log4cplus/syslogappender.h @@ -71,6 +71,10 @@ namespace log4cplus *
Boolean value specifying whether to use IPv6 (true) or IPv4 * (false). Default value is false.
* + *
fqdn
+ *
Boolean value specifying whether to use FQDN for hostname field. + * Default value is true.
+ * * * * \note Messages sent to remote syslog using UDP are conforming @@ -97,7 +101,7 @@ namespace log4cplus #endif SysLogAppender(const tstring& ident, const tstring & host, int port = 514, const tstring & facility = tstring (), - RemoteSyslogType remoteSyslogType = RSTUdp, bool ipv6 = false); + RemoteSyslogType remoteSyslogType = RSTUdp, bool ipv6 = false, bool fqdn = true); SysLogAppender(const log4cplus::helpers::Properties & properties); // Dtor diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index c9deb8a16..ab554f90d 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -244,7 +244,6 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) , appendFunc (nullptr) , port (0) , connected (false) - , hostname (helpers::getHostname (true)) { ident = properties.getProperty( LOG4CPLUS_TEXT("ident") ); facility = parseFacility ( @@ -258,6 +257,10 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) properties.getBool (ipv6, LOG4CPLUS_TEXT ("IPv6")); + bool fqdn = true; + properties.getBool (fqdn, LOG4CPLUS_TEXT ("fqdn")); + hostname = std::move(helpers::getHostname (fqdn)); + properties.getString (host, LOG4CPLUS_TEXT ("host")) || properties.getString (host, LOG4CPLUS_TEXT ("SyslogHost")); if (host.empty ()) @@ -287,7 +290,7 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) SysLogAppender::SysLogAppender(const tstring& id, const tstring & h, int p, const tstring & f, SysLogAppender::RemoteSyslogType rst, - bool ipv6_ /*= false*/) + bool ipv6_ /*= false*/, bool fqdn /*= true*/) : ident (id) , facility (parseFacility (helpers::toLower (f))) , appendFunc (&SysLogAppender::appendRemote) @@ -300,7 +303,7 @@ SysLogAppender::SysLogAppender(const tstring& id, const tstring & h, // the address of the c_str() result remains stable for openlog & // co to use even if we use wstrings. , identStr(LOG4CPLUS_TSTRING_TO_STRING (id) ) - , hostname (helpers::getHostname (true)) + , hostname (helpers::getHostname (fqdn)) { openSocket (); initConnector (); From 7b2f8462492399c0cecb90bda34d4f44388ed9b7 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 3 Feb 2023 23:16:36 +0100 Subject: [PATCH 144/353] Return std::optional from helpers::getHostname(). --- include/log4cplus/helpers/socket.h | 3 ++- src/patternlayout.cxx | 2 +- src/socket-unix.cxx | 14 +++++++------- src/socket-win32.cxx | 14 +++++++------- src/syslogappender.cxx | 6 +++--- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/include/log4cplus/helpers/socket.h b/include/log4cplus/helpers/socket.h index 1924bfe67..933e8d206 100644 --- a/include/log4cplus/helpers/socket.h +++ b/include/log4cplus/helpers/socket.h @@ -31,6 +31,7 @@ #endif #include +#include #include #include @@ -154,7 +155,7 @@ namespace log4cplus { LOG4CPLUS_EXPORT long write(SOCKET_TYPE sock, const std::string & buffer); - LOG4CPLUS_EXPORT tstring getHostname (bool fqdn); + LOG4CPLUS_EXPORT std::optional getHostname (bool fqdn); LOG4CPLUS_EXPORT int setTCPNoDelay (SOCKET_TYPE, bool); } // end namespace helpers diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 2fbaa0958..ab2f91a96 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -610,7 +610,7 @@ RelativeTimestampConverter::convert (tstring & result, HostnamePatternConverter::HostnamePatternConverter ( const FormattingInfo& info, bool fqdn) : PatternConverter(info) - , hostname_ (helpers::getHostname (fqdn)) + , hostname_ (helpers::getHostname (fqdn).value_or ("-")) { } diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 62714fa98..63d2cb202 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -442,10 +442,10 @@ write(SOCKET_TYPE sock, const std::string & buffer) } -tstring +std::optional getHostname (bool fqdn) { - char const * hostname = "unknown"; + char const * hostname = nullptr; int ret; std::vector hn (1024, 0); @@ -469,18 +469,18 @@ getHostname (bool fqdn) // Out buffer was too short. Retry with buffer twice the size. hn.resize (hn.size () * 2, 0); else - break; + return { }; } - if (ret != 0 || (ret == 0 && ! fqdn)) - return LOG4CPLUS_STRING_TO_TSTRING (hostname); + if (! fqdn) + return { LOG4CPLUS_C_STR_TO_TSTRING (hostname) }; std::string full_hostname; ret = get_host_by_name (hostname, &full_hostname, nullptr); if (ret == 0) - hostname = full_hostname.c_str (); + return { LOG4CPLUS_STRING_TO_TSTRING (full_hostname) }; - return LOG4CPLUS_STRING_TO_TSTRING (hostname); + return { LOG4CPLUS_C_STR_TO_TSTRING (hostname) }; } diff --git a/src/socket-win32.cxx b/src/socket-win32.cxx index 39a6cf8c9..57505e214 100644 --- a/src/socket-win32.cxx +++ b/src/socket-win32.cxx @@ -419,12 +419,12 @@ verifyWindowsVersionAtLeast (DWORD major, DWORD minor) } -tstring +std::optional getHostname (bool fqdn) { init_winsock (); - char const * hostname = "unknown"; + char const * hostname = nullptr; int ret; // The initial size is based on information in the Microsoft article // @@ -449,13 +449,13 @@ getHostname (bool fqdn) helpers::getLogLog().error( LOG4CPLUS_TEXT("Failed to get own hostname. Error: ") + convertIntegerToString (wsaeno)); - return LOG4CPLUS_STRING_TO_TSTRING (hostname); + return { }; } } } - if (ret != 0 || (ret == 0 && ! fqdn)) - return LOG4CPLUS_STRING_TO_TSTRING (hostname); + if (! fqdn) + return { LOG4CPLUS_C_STR_TO_TSTRING (hostname) }; ADDRINFOT addr_info_hints{ }; addr_info_hints.ai_family = AF_INET; @@ -477,11 +477,11 @@ getHostname (bool fqdn) helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("Failed to resolve own hostname. Error: ") + convertIntegerToString (ret)); - return LOG4CPLUS_STRING_TO_TSTRING (hostname); + return { LOG4CPLUS_C_STR_TO_TSTRING (hostname) }; } addr_info.reset (ai); - return addr_info->ai_canonname; + return { addr_info->ai_canonname }; } diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index ab554f90d..37e456ba5 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -230,7 +230,7 @@ SysLogAppender::SysLogAppender(const tstring& id) // the address of the c_str() result remains stable for openlog & // co to use even if we use wstrings. , identStr(LOG4CPLUS_TSTRING_TO_STRING (id) ) - , hostname (helpers::getHostname (true)) + , hostname (helpers::getHostname (true).value_or ("-")) { ::openlog(useIdent(identStr), 0, 0); } @@ -259,7 +259,7 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) bool fqdn = true; properties.getBool (fqdn, LOG4CPLUS_TEXT ("fqdn")); - hostname = std::move(helpers::getHostname (fqdn)); + hostname = std::move(helpers::getHostname (fqdn).value_or ("-")); properties.getString (host, LOG4CPLUS_TEXT ("host")) || properties.getString (host, LOG4CPLUS_TEXT ("SyslogHost")); @@ -303,7 +303,7 @@ SysLogAppender::SysLogAppender(const tstring& id, const tstring & h, // the address of the c_str() result remains stable for openlog & // co to use even if we use wstrings. , identStr(LOG4CPLUS_TSTRING_TO_STRING (id) ) - , hostname (helpers::getHostname (fqdn)) + , hostname (helpers::getHostname (fqdn).value_or ("-")) { openSocket (); initConnector (); From 1b9ccd425f0a2f18d8beb17077e8b075fd1263ce Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 3 Feb 2023 23:45:43 +0100 Subject: [PATCH 145/353] Fix build. --- src/patternlayout.cxx | 2 +- src/syslogappender.cxx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index ab2f91a96..4c3128701 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -610,7 +610,7 @@ RelativeTimestampConverter::convert (tstring & result, HostnamePatternConverter::HostnamePatternConverter ( const FormattingInfo& info, bool fqdn) : PatternConverter(info) - , hostname_ (helpers::getHostname (fqdn).value_or ("-")) + , hostname_ (helpers::getHostname (fqdn).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-"))) { } diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index 37e456ba5..8e49ae8dd 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -230,7 +230,7 @@ SysLogAppender::SysLogAppender(const tstring& id) // the address of the c_str() result remains stable for openlog & // co to use even if we use wstrings. , identStr(LOG4CPLUS_TSTRING_TO_STRING (id) ) - , hostname (helpers::getHostname (true).value_or ("-")) + , hostname (helpers::getHostname (true).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-"))) { ::openlog(useIdent(identStr), 0, 0); } @@ -259,7 +259,7 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) bool fqdn = true; properties.getBool (fqdn, LOG4CPLUS_TEXT ("fqdn")); - hostname = std::move(helpers::getHostname (fqdn).value_or ("-")); + hostname = std::move(helpers::getHostname (fqdn).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-"))); properties.getString (host, LOG4CPLUS_TEXT ("host")) || properties.getString (host, LOG4CPLUS_TEXT ("SyslogHost")); @@ -303,7 +303,7 @@ SysLogAppender::SysLogAppender(const tstring& id, const tstring & h, // the address of the c_str() result remains stable for openlog & // co to use even if we use wstrings. , identStr(LOG4CPLUS_TSTRING_TO_STRING (id) ) - , hostname (helpers::getHostname (fqdn).value_or ("-")) + , hostname (helpers::getHostname (fqdn).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-"))) { openSocket (); initConnector (); From 086f84114d49c18aaa7dccd2f8d100dd549a566d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 4 Feb 2023 01:14:11 +0100 Subject: [PATCH 146/353] Update Catch2 to v2.13.9. --- catch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catch b/catch index c4e3767e2..62fd66058 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit c4e3767e265808590986d5db6ca1b5532a7f3d13 +Subproject commit 62fd660583d3ae7a7886930b413c3c570e89786c From 39251571e7121de4761d9ba3d505742dc6f2bc1c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 4 Feb 2023 01:14:48 +0100 Subject: [PATCH 147/353] Add basic unit test for getHostname(). --- src/socket.cxx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/socket.cxx b/src/socket.cxx index 388f7ec51..381ad88be 100644 --- a/src/socket.cxx +++ b/src/socket.cxx @@ -22,6 +22,9 @@ #include #include +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include +#endif namespace log4cplus::helpers { @@ -262,4 +265,26 @@ openSocket(unsigned short port, bool udp, bool ipv6, SocketState& state) } +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +CATCH_TEST_CASE ("Socket", "[sockets]") +{ + CATCH_SECTION ("hostname resolution") + { + CATCH_SECTION ("FQDN") + { + auto result = getHostname(true); + CATCH_REQUIRE (result.has_value ()); + + } + + CATCH_SECTION ("non-FQDN") + { + auto result = getHostname(false); + CATCH_REQUIRE (result.has_value ()); + } + } +} +#endif // LOG4CPLUS_WITH_UNIT_TESTS + + } // namespace log4cplus::helpers From 0fffabb3bcbbeec43776c5ee15478fb5dbbab21e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Mon, 6 Feb 2023 13:33:11 +0100 Subject: [PATCH 148/353] Thread pool on demand. Different take on #531. (#573) Initialize thread pool for async logging on demand. Destroy thread pool via ThreadPoolHolder dtor. --- appveyor.yml | 8 ++++-- src/global-init.cxx | 64 ++++++++++++++++++++++++++++++++++++++------- 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 61253a979..0dd59cce6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,15 +9,19 @@ install: environment: matrix: - - PRJ_GEN: "Visual Studio 15 2017 Win64" + - PRJ_GEN: "Visual Studio 15 2017" APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" BDIR: msvc2017 PRJ_CFG: Release + - PRJ_GEN: "Visual Studio 16 2019" + APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" + BDIR: msvc2017 + PRJ_CFG: Release build_script: - mkdir build.%BDIR% - cd build.%BDIR% - - cmake .. -G "%PRJ_GEN%" "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% + - cmake .. -G "%PRJ_GEN%" -A x64 "-DCMAKE_BUILD_TYPE=%PRJ_CFG%" %PARAMS% - cmake --build . --config "%PRJ_CFG%" --clean-first test_script: diff --git a/src/global-init.cxx b/src/global-init.cxx index 6de177659..074622774 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -146,6 +146,25 @@ instantiate_thread_pool () #endif +//! Helper structure for holding progschj::ThreadPool pointer. +//! It is necessary to have this so that we can correctly order +//! destructors between Hierarchy and the progschj::ThreadPool. +//! Hierarchy wants to wait for outstading logging to finish +//! therefore the ThreadPool can only be destroyed after that. +struct ThreadPoolHolder +{ + std::atomic thread_pool{}; + + ThreadPoolHolder () = default; + ThreadPoolHolder (ThreadPoolHolder const&) = delete; + ~ThreadPoolHolder () + { + auto const tp = thread_pool.exchange(nullptr, std::memory_order_release); + delete tp; + } +}; + + //! Default context. struct DefaultContext { @@ -160,10 +179,34 @@ struct DefaultContext spi::LayoutFactoryRegistry layout_factory_registry; spi::FilterFactoryRegistry filter_factory_registry; spi::LocaleFactoryRegistry locale_factory_registry; + Hierarchy hierarchy; + ThreadPoolHolder thread_pool; + #if ! defined (LOG4CPLUS_SINGLE_THREADED) - std::unique_ptr thread_pool {instantiate_thread_pool ()}; + progschj::ThreadPool * + get_thread_pool (bool init) + { + if (init) { + std::call_once (thread_pool_once, [&] { + thread_pool.thread_pool.store (instantiate_thread_pool ().release (), std::memory_order_release); + }); + } + // cppreference.com says: The specification of release-consume ordering + // is being revised, and the use of memory_order_consume is temporarily + // discouraged. Thus, let's use memory_order_acquire. + return thread_pool.thread_pool.load (std::memory_order_acquire); + } + + void + shutdown_thread_pool () + { + auto const tp = thread_pool.thread_pool.exchange(nullptr, std::memory_order_release); + delete tp; + } + +private: + std::once_flag thread_pool_once; #endif - Hierarchy hierarchy; }; @@ -315,7 +358,7 @@ void enqueueAsyncDoAppend (SharedAppenderPtr const & appender, spi::InternalLoggingEvent const & event) { - get_dc ()->thread_pool->enqueue ( + get_dc ()->get_thread_pool (true)->enqueue ( [=] () { appender->asyncDoAppend (event); @@ -329,9 +372,9 @@ shutdownThreadPool () { #if ! defined (LOG4CPLUS_SINGLE_THREADED) DefaultContext * const dc = get_dc (false); - if (dc && dc->thread_pool) + if (dc) { - dc->thread_pool.reset (); + dc->shutdown_thread_pool (); } #endif } @@ -342,10 +385,11 @@ waitUntilEmptyThreadPoolQueue () { #if ! defined (LOG4CPLUS_SINGLE_THREADED) DefaultContext * const dc = get_dc (false); - if (dc && dc->thread_pool) + progschj::ThreadPool * tp; + if (dc && (tp = dc->get_thread_pool (false))) { - dc->thread_pool->wait_until_empty (); - dc->thread_pool->wait_until_nothing_in_flight (); + tp->wait_until_empty (); + tp->wait_until_nothing_in_flight (); } #endif } @@ -549,8 +593,8 @@ initialize () void deinitialize () { - shutdownThreadPool(); Logger::shutdown (); + shutdownThreadPool(); } @@ -597,7 +641,7 @@ void setThreadPoolSize (std::size_t LOG4CPLUS_THREADED (pool_size)) { #if ! defined (LOG4CPLUS_SINGLE_THREADED) - std::unique_ptr & thread_pool = get_dc ()->thread_pool; + auto const thread_pool = get_dc ()->get_thread_pool (true); if (thread_pool) thread_pool->set_pool_size (pool_size); From 2c237aef29e08c6c12048f98c25ed676c77f828b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Mon, 6 Feb 2023 13:40:12 +0100 Subject: [PATCH 149/353] Typo fix. --- src/global-init.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 074622774..1dc4fbe29 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -609,7 +609,7 @@ threadCleanup () // // This function can be called from TLS initializer/terminator by loader // when log4cplus is compiled and linked to as a static library. In case of - // other threads temination, it should do its job and free per-thread + // other threads termination, it should do its job and free per-thread // data. However, when the whole process is being terminated, it is called // after the CRT has been uninitialized and the CRT heap is not available // any more. In such case, instead of crashing, we just give up and leak From 5738fed9c8f7252caeceff45b01257b319d3005c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sat, 11 Feb 2023 03:52:13 +0100 Subject: [PATCH 150/353] Create c-cpp.yml --- .github/workflows/c-cpp.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/c-cpp.yml diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 000000000..e18783d4d --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,23 @@ +name: C/C++ CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: configure + run: | + mkdir objdir + ./configure --enable-shared --enable-unit-tests --with-working-locale + - name: make + run: make + - name: make check + run: make check From 4e2a473da60e957065819e6a9ee0d94a9be38100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sat, 11 Feb 2023 03:54:19 +0100 Subject: [PATCH 151/353] Update c-cpp.yml --- .github/workflows/c-cpp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e18783d4d..2a565cea0 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -13,6 +13,8 @@ jobs: steps: - uses: actions/checkout@v3 + with: + submodules: recursive - name: configure run: | mkdir objdir From be8ca17e0b22b89816fdbe91cbb4bef4491b84e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sat, 11 Feb 2023 03:58:25 +0100 Subject: [PATCH 152/353] Update c-cpp.yml --- .github/workflows/c-cpp.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2a565cea0..5340eaddc 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -18,7 +18,8 @@ jobs: - name: configure run: | mkdir objdir - ./configure --enable-shared --enable-unit-tests --with-working-locale + cd objdir + ../configure --enable-shared --enable-unit-tests --with-working-locale - name: make run: make - name: make check From e8cd2aa858f5ffc8937767d6f921891e40d3392e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sat, 11 Feb 2023 04:00:39 +0100 Subject: [PATCH 153/353] Update c-cpp.yml --- .github/workflows/c-cpp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 5340eaddc..651f2e45c 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -21,6 +21,6 @@ jobs: cd objdir ../configure --enable-shared --enable-unit-tests --with-working-locale - name: make - run: make + run: cd objdir ; make - name: make check - run: make check + run: cd objdir ; make check From df01c3a7c948c039c6189e70cd4c1799e0400218 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 11 Feb 2023 21:35:56 +0100 Subject: [PATCH 154/353] release.txt: We don't need to update news on SF. It gets updated automatically from GitHub release. --- docs/release.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/release.txt b/docs/release.txt index 85bb6511e..0ccdbee3c 100644 --- a/docs/release.txt +++ b/docs/release.txt @@ -17,8 +17,6 @@ revision, yet._ #. Tag revision on branch. _Do not forget to push the tag._ - #. Write [news entry][2] to SourceForge. - #. Use Pandoc with parameters ``` From e34c5b0e99e443556066e26ccc7f5f59a0ec0ce4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 9 Feb 2023 22:09:21 +0100 Subject: [PATCH 155/353] Throw exception on nonexistent properties file. Implement #553. --- Makefile.in | 33 +- include/Makefile.am | 1 + include/Makefile.in | 1 + include/log4cplus/configurator.h | 1 + include/log4cplus/exception.h | 56 +++ include/log4cplus/helpers/property.h | 1 + src/CMakeLists.txt | 2 + src/Makefile.am | 3 +- src/configurator.cxx | 17 +- src/exception.cxx | 16 + src/loglog.cxx | 3 +- src/property.cxx | 14 +- tests/headers.at | 1 + tests/testsuite | 629 +++++++++++++++------------ 14 files changed, 487 insertions(+), 291 deletions(-) create mode 100644 include/log4cplus/exception.h create mode 100644 src/exception.cxx diff --git a/Makefile.in b/Makefile.in index 370e687bd..35ea1946e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -298,6 +298,7 @@ am__objects_4 = src/liblog4cplus_la-appenderattachableimpl.lo \ src/liblog4cplus_la-connectorthread.lo \ src/liblog4cplus_la-consoleappender.lo \ src/liblog4cplus_la-cygwin-win32.lo src/liblog4cplus_la-env.lo \ + src/liblog4cplus_la-exception.lo \ src/liblog4cplus_la-factory.lo \ src/liblog4cplus_la-fileappender.lo \ src/liblog4cplus_la-fileinfo.lo src/liblog4cplus_la-filter.lo \ @@ -353,7 +354,8 @@ am__objects_7 = src/liblog4cplusU_la-appenderattachableimpl.lo \ src/liblog4cplusU_la-connectorthread.lo \ src/liblog4cplusU_la-consoleappender.lo \ src/liblog4cplusU_la-cygwin-win32.lo \ - src/liblog4cplusU_la-env.lo src/liblog4cplusU_la-factory.lo \ + src/liblog4cplusU_la-env.lo src/liblog4cplusU_la-exception.lo \ + src/liblog4cplusU_la-factory.lo \ src/liblog4cplusU_la-fileappender.lo \ src/liblog4cplusU_la-fileinfo.lo \ src/liblog4cplusU_la-filter.lo \ @@ -782,6 +784,7 @@ am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo \ src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo \ src/$(DEPDIR)/liblog4cplusU_la-env.Plo \ + src/$(DEPDIR)/liblog4cplusU_la-exception.Plo \ src/$(DEPDIR)/liblog4cplusU_la-factory.Plo \ src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo \ src/$(DEPDIR)/liblog4cplusU_la-fileinfo.Plo \ @@ -836,6 +839,7 @@ am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo \ src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo \ src/$(DEPDIR)/liblog4cplus_la-env.Plo \ + src/$(DEPDIR)/liblog4cplus_la-exception.Plo \ src/$(DEPDIR)/liblog4cplus_la-factory.Plo \ src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo \ src/$(DEPDIR)/liblog4cplus_la-fileinfo.Plo \ @@ -1223,13 +1227,14 @@ SINGLE_THREADED_SRC = \ src/appenderattachableimpl.cxx \ src/appender.cxx \ src/asyncappender.cxx \ - src/callbackappender.cxx \ + src/callbackappender.cxx \ src/clogger.cxx \ src/configurator.cxx \ src/connectorthread.cxx \ src/consoleappender.cxx \ src/cygwin-win32.cxx \ src/env.cxx \ + src/exception.cxx \ src/factory.cxx \ src/fileappender.cxx \ src/fileinfo.cxx \ @@ -1776,6 +1781,8 @@ src/liblog4cplus_la-cygwin-win32.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-env.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplus_la-exception.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-factory.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-fileappender.lo: src/$(am__dirstamp) \ @@ -1887,6 +1894,8 @@ src/liblog4cplusU_la-cygwin-win32.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-env.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplusU_la-exception.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-factory.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-fileappender.lo: src/$(am__dirstamp) \ @@ -2428,6 +2437,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-env.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-exception.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-factory.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-fileinfo.Plo@am__quote@ # am--include-marker @@ -2482,6 +2492,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-env.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-exception.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-factory.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-fileinfo.Plo@am__quote@ # am--include-marker @@ -2679,6 +2690,13 @@ src/liblog4cplus_la-env.lo: src/env.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-env.lo `test -f 'src/env.cxx' || echo '$(srcdir)/'`src/env.cxx +src/liblog4cplus_la-exception.lo: src/exception.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplus_la-exception.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplus_la-exception.Tpo -c -o src/liblog4cplus_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplus_la-exception.Tpo src/$(DEPDIR)/liblog4cplus_la-exception.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/exception.cxx' object='src/liblog4cplus_la-exception.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx + src/liblog4cplus_la-factory.lo: src/factory.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplus_la-factory.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplus_la-factory.Tpo -c -o src/liblog4cplus_la-factory.lo `test -f 'src/factory.cxx' || echo '$(srcdir)/'`src/factory.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplus_la-factory.Tpo src/$(DEPDIR)/liblog4cplus_la-factory.Plo @@ -3057,6 +3075,13 @@ src/liblog4cplusU_la-env.lo: src/env.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-env.lo `test -f 'src/env.cxx' || echo '$(srcdir)/'`src/env.cxx +src/liblog4cplusU_la-exception.lo: src/exception.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-exception.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-exception.Tpo -c -o src/liblog4cplusU_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-exception.Tpo src/$(DEPDIR)/liblog4cplusU_la-exception.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/exception.cxx' object='src/liblog4cplusU_la-exception.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx + src/liblog4cplusU_la-factory.lo: src/factory.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-factory.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-factory.Tpo -c -o src/liblog4cplusU_la-factory.lo `test -f 'src/factory.cxx' || echo '$(srcdir)/'`src/factory.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-factory.Tpo src/$(DEPDIR)/liblog4cplusU_la-factory.Plo @@ -3968,6 +3993,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileinfo.Plo @@ -4022,6 +4048,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileinfo.Plo @@ -4169,6 +4196,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileinfo.Plo @@ -4223,6 +4251,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileinfo.Plo diff --git a/include/Makefile.am b/include/Makefile.am index 0596b5638..4160c4c59 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -16,6 +16,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/config/windowsh-inc.h \ log4cplus/configurator.h \ log4cplus/consoleappender.h \ + log4cplus/exception.h \ log4cplus/fileappender.h \ log4cplus/fstreams.h \ log4cplus/helpers/appenderattachableimpl.h \ diff --git a/include/Makefile.in b/include/Makefile.in index 6975a5732..46d158a26 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -375,6 +375,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/config/windowsh-inc.h \ log4cplus/configurator.h \ log4cplus/consoleappender.h \ + log4cplus/exception.h \ log4cplus/fileappender.h \ log4cplus/fstreams.h \ log4cplus/helpers/appenderattachableimpl.h \ diff --git a/include/log4cplus/configurator.h b/include/log4cplus/configurator.h index 0e8b226b4..fe73ae0ec 100644 --- a/include/log4cplus/configurator.h +++ b/include/log4cplus/configurator.h @@ -90,6 +90,7 @@ namespace log4cplus #if defined (LOG4CPLUS_HAVE_CODECVT_UTF32_FACET) && defined (UNICODE) , fUTF32 = (3 << fEncodingShift) #endif + , fThrow = (1 << 5) }; // ctor and dtor diff --git a/include/log4cplus/exception.h b/include/log4cplus/exception.h new file mode 100644 index 000000000..7531edb02 --- /dev/null +++ b/include/log4cplus/exception.h @@ -0,0 +1,56 @@ +// Copyright (C) 2023, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef LOG4CPLUS_EXCEPTION_HXX +#define LOG4CPLUS_EXCEPTION_HXX + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#include +#include + + +namespace log4cplus +{ + +/** + * \brief Exception class thrown by LogLog. + * \sa helpers::LogLog + * + */ +class LOG4CPLUS_EXPORT exception : public std::runtime_error +{ +public: + exception (tstring const &); + exception (exception const &); + exception & operator=(exception const &); + virtual ~exception (); +}; + +} // namespace log4cplus + +#endif // LOG4CPLUS_EXCEPTION_HXX \ No newline at end of file diff --git a/include/log4cplus/helpers/property.h b/include/log4cplus/helpers/property.h index a6c08cf2c..b7b96c74b 100644 --- a/include/log4cplus/helpers/property.h +++ b/include/log4cplus/helpers/property.h @@ -61,6 +61,7 @@ namespace log4cplus { #if defined (LOG4CPLUS_HAVE_CODECVT_UTF32_FACET) && defined (UNICODE) , fUTF32 = (3 << fEncodingShift) #endif + , fThrow = (1 << 5) }; Properties(); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4e762039a..89abf90a5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,6 +9,7 @@ set (log4cplus_sources consoleappender.cxx cygwin-win32.cxx env.cxx + exception.cxx factory.cxx fileappender.cxx fileinfo.cxx @@ -190,6 +191,7 @@ install(FILES ../include/log4cplus/appender.h ../include/log4cplus/config.hxx ../include/log4cplus/configurator.h ../include/log4cplus/consoleappender.h + ../include/log4cplus/exception.h ../include/log4cplus/fileappender.h ../include/log4cplus/fstreams.h ../include/log4cplus/hierarchy.h diff --git a/src/Makefile.am b/src/Makefile.am index ceedeaf66..1b45b68a4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,13 +4,14 @@ SINGLE_THREADED_SRC = \ %D%/appenderattachableimpl.cxx \ %D%/appender.cxx \ %D%/asyncappender.cxx \ - %D%/callbackappender.cxx \ + %D%/callbackappender.cxx \ %D%/clogger.cxx \ %D%/configurator.cxx \ %D%/connectorthread.cxx \ %D%/consoleappender.cxx \ %D%/cygwin-win32.cxx \ %D%/env.cxx \ + %D%/exception.cxx \ %D%/factory.cxx \ %D%/fileappender.cxx \ %D%/fileinfo.cxx \ diff --git a/src/configurator.cxx b/src/configurator.cxx index cbfc6b920..abcdaf034 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -175,30 +175,39 @@ namespace unsigned pcflag_to_pflags_encoding (unsigned pcflags) { + unsigned pflags = 0; switch (pcflags & (PropertyConfigurator::fEncodingMask << PropertyConfigurator::fEncodingShift)) { #if defined (LOG4CPLUS_HAVE_CODECVT_UTF8_FACET) && defined (UNICODE) case PropertyConfigurator::fUTF8: - return helpers::Properties::fUTF8; + pflags |= helpers::Properties::fUTF8; + break; #endif #if (defined (LOG4CPLUS_HAVE_CODECVT_UTF16_FACET) || defined (WIN32)) \ && defined (UNICODE) case PropertyConfigurator::fUTF16: - return helpers::Properties::fUTF16; + pflags |= helpers::Properties::fUTF16; + break; #endif #if defined (LOG4CPLUS_HAVE_CODECVT_UTF32_FACET) && defined (UNICODE) case PropertyConfigurator::fUTF32: - return helpers::Properties::fUTF32; + pflags |= helpers::Properties::fUTF32; + break; #endif case PropertyConfigurator::fUnspecEncoding:; default: - return 0; + break; } + + if ((pcflags & PropertyConfigurator::fThrow) != 0) + pflags |= helpers::Properties::fThrow; + + return pflags; } } // namespace diff --git a/src/exception.cxx b/src/exception.cxx new file mode 100644 index 000000000..9dbd9e50d --- /dev/null +++ b/src/exception.cxx @@ -0,0 +1,16 @@ +#include + +namespace log4cplus { + +exception::exception (tstring const & message) + : std::runtime_error (LOG4CPLUS_TSTRING_TO_STRING (message).c_str ()) +{ } + +exception::exception (exception const &) = default; + +exception & exception::operator=(exception const &) = default; + +exception::~exception () +{ } + +} // namespace log4cplus \ No newline at end of file diff --git a/src/loglog.cxx b/src/loglog.cxx index e2c011f3b..b1b1dae1c 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -180,7 +181,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, } if (LOG4CPLUS_UNLIKELY (throw_flag)) - throw std::runtime_error (LOG4CPLUS_TSTRING_TO_STRING (msg)); + throw log4cplus::exception (msg); } diff --git a/src/property.cxx b/src/property.cxx index 2ac0f6e11..9309f6443 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -41,6 +42,7 @@ #include #include #include +#include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) #include @@ -162,7 +164,7 @@ imbue_file_from_flags (tistream & file, unsigned flags) // TODO: This should actually be a custom "null" facet // that just copies the chars to wchar_t buffer. new std::codecvt)); - break; + break; #endif @@ -219,7 +221,7 @@ Properties::Properties(const tstring& inputFile, unsigned f) std::ios::binary); if (! file.good ()) helpers::getLogLog ().error (LOG4CPLUS_TEXT ("could not open file ") - + inputFile); + + inputFile, (flags & Properties::fThrow) != 0); init(file); } @@ -535,6 +537,14 @@ CATCH_TEST_CASE ("Properties", "[properties]") CATCH_REQUIRE (std::find (std::begin (names), std::end (names), PROP_SECOND) != std::end (names)); } + + CATCH_SECTION ("throw on nonexistent file") + { + auto && f = [] { + Properties props (LOG4CPLUS_TEXT ("xxx does not exist"), Properties::fThrow); + }; + CATCH_REQUIRE_THROWS_AS (f (), log4cplus::exception); + } } #endif diff --git a/tests/headers.at b/tests/headers.at index 6cea189b7..8f7c5cb03 100644 --- a/tests/headers.at +++ b/tests/headers.at @@ -7,6 +7,7 @@ m4_foreach_w([HEADER], log4cplus/config.hxx log4cplus/configurator.h log4cplus/consoleappender.h + log4cplus/exception.h log4cplus/fileappender.h log4cplus/fstreams.h log4cplus/hierarchy.h diff --git a/tests/testsuite b/tests/testsuite index a415fea51..52cee093a 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -617,72 +617,73 @@ at_help_all="1;headers.at:1;separate compilation of log4cplus/appender.h;headers 5;headers.at:1;separate compilation of log4cplus/config.hxx;headers-compilation; 6;headers.at:1;separate compilation of log4cplus/configurator.h;headers-compilation; 7;headers.at:1;separate compilation of log4cplus/consoleappender.h;headers-compilation; -8;headers.at:1;separate compilation of log4cplus/fileappender.h;headers-compilation; -9;headers.at:1;separate compilation of log4cplus/fstreams.h;headers-compilation; -10;headers.at:1;separate compilation of log4cplus/hierarchy.h;headers-compilation; -11;headers.at:1;separate compilation of log4cplus/hierarchylocker.h;headers-compilation; -12;headers.at:1;separate compilation of log4cplus/initializer.h;headers-compilation; -13;headers.at:1;separate compilation of log4cplus/layout.h;headers-compilation; -14;headers.at:1;separate compilation of log4cplus/log4cplus.h;headers-compilation; -15;headers.at:1;separate compilation of log4cplus/log4judpappender.h;headers-compilation; -16;headers.at:1;separate compilation of log4cplus/logger.h;headers-compilation; -17;headers.at:1;separate compilation of log4cplus/loggingmacros.h;headers-compilation; -18;headers.at:1;separate compilation of log4cplus/loglevel.h;headers-compilation; -19;headers.at:1;separate compilation of log4cplus/mdc.h;headers-compilation; -20;headers.at:1;separate compilation of log4cplus/msttsappender.h;headers-compilation; -21;headers.at:1;separate compilation of log4cplus/ndc.h;headers-compilation; -22;headers.at:1;separate compilation of log4cplus/nteventlogappender.h;headers-compilation; -23;headers.at:1;separate compilation of log4cplus/nullappender.h;headers-compilation; -24;headers.at:1;separate compilation of log4cplus/qt4debugappender.h;headers-compilation; -25;headers.at:1;separate compilation of log4cplus/socketappender.h;headers-compilation; -26;headers.at:1;separate compilation of log4cplus/streams.h;headers-compilation; -27;headers.at:1;separate compilation of log4cplus/syslogappender.h;headers-compilation; -28;headers.at:1;separate compilation of log4cplus/tchar.h;headers-compilation; -29;headers.at:1;separate compilation of log4cplus/tracelogger.h;headers-compilation; -30;headers.at:1;separate compilation of log4cplus/tstring.h;headers-compilation; -31;headers.at:1;separate compilation of log4cplus/version.h;headers-compilation; -32;headers.at:1;separate compilation of log4cplus/win32consoleappender.h;headers-compilation; -33;headers.at:1;separate compilation of log4cplus/win32debugappender.h;headers-compilation; -34;headers.at:1;separate compilation of log4cplus/helpers/appenderattachableimpl.h;headers-compilation; -35;headers.at:1;separate compilation of log4cplus/helpers/connectorthread.h;headers-compilation; -36;headers.at:1;separate compilation of log4cplus/helpers/fileinfo.h;headers-compilation; -37;headers.at:1;separate compilation of log4cplus/helpers/lockfile.h;headers-compilation; -38;headers.at:1;separate compilation of log4cplus/helpers/loglog.h;headers-compilation; -39;headers.at:1;separate compilation of log4cplus/helpers/pointer.h;headers-compilation; -40;headers.at:1;separate compilation of log4cplus/helpers/property.h;headers-compilation; -41;headers.at:1;separate compilation of log4cplus/helpers/queue.h;headers-compilation; -42;headers.at:1;separate compilation of log4cplus/helpers/snprintf.h;headers-compilation; -43;headers.at:1;separate compilation of log4cplus/helpers/socket.h;headers-compilation; -44;headers.at:1;separate compilation of log4cplus/helpers/socketbuffer.h;headers-compilation; -45;headers.at:1;separate compilation of log4cplus/helpers/stringhelper.h;headers-compilation; -46;headers.at:1;separate compilation of log4cplus/helpers/timehelper.h;headers-compilation; -47;headers.at:1;separate compilation of log4cplus/spi/appenderattachable.h;headers-compilation; -48;headers.at:1;separate compilation of log4cplus/spi/factory.h;headers-compilation; -49;headers.at:1;separate compilation of log4cplus/spi/filter.h;headers-compilation; -50;headers.at:1;separate compilation of log4cplus/spi/loggerfactory.h;headers-compilation; -51;headers.at:1;separate compilation of log4cplus/spi/loggerimpl.h;headers-compilation; -52;headers.at:1;separate compilation of log4cplus/spi/loggingevent.h;headers-compilation; -53;headers.at:1;separate compilation of log4cplus/spi/objectregistry.h;headers-compilation; -54;headers.at:1;separate compilation of log4cplus/spi/rootlogger.h;headers-compilation; -55;headers.at:1;separate compilation of log4cplus/thread/syncprims-pub-impl.h;headers-compilation; -56;headers.at:1;separate compilation of log4cplus/thread/syncprims.h;headers-compilation; -57;headers.at:1;separate compilation of log4cplus/thread/threads.h;headers-compilation; -58;appender_test.at:1;appender_test;appenders; -59;configandwatch_test.at:1;configandwatch_test;appenders; -60;customloglevel_test.at:1;customloglevel_test;appenders; -61;fileappender_test.at:1;fileappender_test;appenders; -62;filter_test.at:1;filter_test;appenders; -63;hierarchy_test.at:1;hierarchy_test;appenders; -64;loglog_test.at:1;loglog_test;appenders; -65;ndc_test.at:1;ndc_test;appenders; -66;ostream_test.at:1;ostream_test;appenders; -67;patternlayout_test.at:1;patternlayout_test;appenders; -68;performance_test.at:1;performance_test;appenders; -69;priority_test.at:1;priority_test;appenders; -70;propertyconfig_test.at:1;propertyconfig_test;appenders; -71;thread_test.at:1;thread_test;appenders; -72;timeformat_test.at:1;timeformat_test;appenders; -73;unit_tests.at:1;unit_tests;unit-tests; +8;headers.at:1;separate compilation of log4cplus/exception.h;headers-compilation; +9;headers.at:1;separate compilation of log4cplus/fileappender.h;headers-compilation; +10;headers.at:1;separate compilation of log4cplus/fstreams.h;headers-compilation; +11;headers.at:1;separate compilation of log4cplus/hierarchy.h;headers-compilation; +12;headers.at:1;separate compilation of log4cplus/hierarchylocker.h;headers-compilation; +13;headers.at:1;separate compilation of log4cplus/initializer.h;headers-compilation; +14;headers.at:1;separate compilation of log4cplus/layout.h;headers-compilation; +15;headers.at:1;separate compilation of log4cplus/log4cplus.h;headers-compilation; +16;headers.at:1;separate compilation of log4cplus/log4judpappender.h;headers-compilation; +17;headers.at:1;separate compilation of log4cplus/logger.h;headers-compilation; +18;headers.at:1;separate compilation of log4cplus/loggingmacros.h;headers-compilation; +19;headers.at:1;separate compilation of log4cplus/loglevel.h;headers-compilation; +20;headers.at:1;separate compilation of log4cplus/mdc.h;headers-compilation; +21;headers.at:1;separate compilation of log4cplus/msttsappender.h;headers-compilation; +22;headers.at:1;separate compilation of log4cplus/ndc.h;headers-compilation; +23;headers.at:1;separate compilation of log4cplus/nteventlogappender.h;headers-compilation; +24;headers.at:1;separate compilation of log4cplus/nullappender.h;headers-compilation; +25;headers.at:1;separate compilation of log4cplus/qt4debugappender.h;headers-compilation; +26;headers.at:1;separate compilation of log4cplus/socketappender.h;headers-compilation; +27;headers.at:1;separate compilation of log4cplus/streams.h;headers-compilation; +28;headers.at:1;separate compilation of log4cplus/syslogappender.h;headers-compilation; +29;headers.at:1;separate compilation of log4cplus/tchar.h;headers-compilation; +30;headers.at:1;separate compilation of log4cplus/tracelogger.h;headers-compilation; +31;headers.at:1;separate compilation of log4cplus/tstring.h;headers-compilation; +32;headers.at:1;separate compilation of log4cplus/version.h;headers-compilation; +33;headers.at:1;separate compilation of log4cplus/win32consoleappender.h;headers-compilation; +34;headers.at:1;separate compilation of log4cplus/win32debugappender.h;headers-compilation; +35;headers.at:1;separate compilation of log4cplus/helpers/appenderattachableimpl.h;headers-compilation; +36;headers.at:1;separate compilation of log4cplus/helpers/connectorthread.h;headers-compilation; +37;headers.at:1;separate compilation of log4cplus/helpers/fileinfo.h;headers-compilation; +38;headers.at:1;separate compilation of log4cplus/helpers/lockfile.h;headers-compilation; +39;headers.at:1;separate compilation of log4cplus/helpers/loglog.h;headers-compilation; +40;headers.at:1;separate compilation of log4cplus/helpers/pointer.h;headers-compilation; +41;headers.at:1;separate compilation of log4cplus/helpers/property.h;headers-compilation; +42;headers.at:1;separate compilation of log4cplus/helpers/queue.h;headers-compilation; +43;headers.at:1;separate compilation of log4cplus/helpers/snprintf.h;headers-compilation; +44;headers.at:1;separate compilation of log4cplus/helpers/socket.h;headers-compilation; +45;headers.at:1;separate compilation of log4cplus/helpers/socketbuffer.h;headers-compilation; +46;headers.at:1;separate compilation of log4cplus/helpers/stringhelper.h;headers-compilation; +47;headers.at:1;separate compilation of log4cplus/helpers/timehelper.h;headers-compilation; +48;headers.at:1;separate compilation of log4cplus/spi/appenderattachable.h;headers-compilation; +49;headers.at:1;separate compilation of log4cplus/spi/factory.h;headers-compilation; +50;headers.at:1;separate compilation of log4cplus/spi/filter.h;headers-compilation; +51;headers.at:1;separate compilation of log4cplus/spi/loggerfactory.h;headers-compilation; +52;headers.at:1;separate compilation of log4cplus/spi/loggerimpl.h;headers-compilation; +53;headers.at:1;separate compilation of log4cplus/spi/loggingevent.h;headers-compilation; +54;headers.at:1;separate compilation of log4cplus/spi/objectregistry.h;headers-compilation; +55;headers.at:1;separate compilation of log4cplus/spi/rootlogger.h;headers-compilation; +56;headers.at:1;separate compilation of log4cplus/thread/syncprims-pub-impl.h;headers-compilation; +57;headers.at:1;separate compilation of log4cplus/thread/syncprims.h;headers-compilation; +58;headers.at:1;separate compilation of log4cplus/thread/threads.h;headers-compilation; +59;appender_test.at:1;appender_test;appenders; +60;configandwatch_test.at:1;configandwatch_test;appenders; +61;customloglevel_test.at:1;customloglevel_test;appenders; +62;fileappender_test.at:1;fileappender_test;appenders; +63;filter_test.at:1;filter_test;appenders; +64;hierarchy_test.at:1;hierarchy_test;appenders; +65;loglog_test.at:1;loglog_test;appenders; +66;ndc_test.at:1;ndc_test;appenders; +67;ostream_test.at:1;ostream_test;appenders; +68;patternlayout_test.at:1;patternlayout_test;appenders; +69;performance_test.at:1;performance_test;appenders; +70;priority_test.at:1;priority_test;appenders; +71;propertyconfig_test.at:1;propertyconfig_test;appenders; +72;thread_test.at:1;thread_test;appenders; +73;timeformat_test.at:1;timeformat_test;appenders; +74;unit_tests.at:1;unit_tests;unit-tests; " # List of the all the test groups. at_groups_all=`printf "%s\n" "$at_help_all" | sed 's/;.*//'` @@ -696,7 +697,7 @@ at_fn_validate_ranges () for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 73; then + if test $at_value -lt 1 || test $at_value -gt 74; then printf "%s\n" "invalid test group: $at_value" >&2 exit 1 fi @@ -1055,7 +1056,7 @@ esac # Category starts at test group 1. at_banner_text_1="separate headers compilation" # Banner 2. testsuite.at:14 -# Category starts at test group 58. +# Category starts at test group 59. at_banner_text_2="other tests" # Take any -C into account. @@ -2524,7 +2525,7 @@ read at_status <"$at_status_file" #AT_STOP_7 #AT_START_8 at_fn_group_banner 8 'headers.at:1' \ - "separate compilation of log4cplus/fileappender.h" "" 1 + "separate compilation of log4cplus/exception.h" " " 1 at_xfail=no ( printf "%s\n" "8. $at_setup_line: testing $at_desc ..." @@ -2533,9 +2534,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fileappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/exception.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/fileappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/exception.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2590,7 +2591,7 @@ read at_status <"$at_status_file" #AT_STOP_8 #AT_START_9 at_fn_group_banner 9 'headers.at:1' \ - "separate compilation of log4cplus/fstreams.h" " " 1 + "separate compilation of log4cplus/fileappender.h" "" 1 at_xfail=no ( printf "%s\n" "9. $at_setup_line: testing $at_desc ..." @@ -2599,9 +2600,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fstreams.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fileappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/fstreams.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/fileappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2656,7 +2657,7 @@ read at_status <"$at_status_file" #AT_STOP_9 #AT_START_10 at_fn_group_banner 10 'headers.at:1' \ - "separate compilation of log4cplus/hierarchy.h" " " 1 + "separate compilation of log4cplus/fstreams.h" " " 1 at_xfail=no ( printf "%s\n" "10. $at_setup_line: testing $at_desc ..." @@ -2665,9 +2666,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchy.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/fstreams.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchy.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/fstreams.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2722,7 +2723,7 @@ read at_status <"$at_status_file" #AT_STOP_10 #AT_START_11 at_fn_group_banner 11 'headers.at:1' \ - "separate compilation of log4cplus/hierarchylocker.h" "" 1 + "separate compilation of log4cplus/hierarchy.h" " " 1 at_xfail=no ( printf "%s\n" "11. $at_setup_line: testing $at_desc ..." @@ -2731,9 +2732,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchylocker.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchy.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchylocker.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchy.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2788,7 +2789,7 @@ read at_status <"$at_status_file" #AT_STOP_11 #AT_START_12 at_fn_group_banner 12 'headers.at:1' \ - "separate compilation of log4cplus/initializer.h" "" 1 + "separate compilation of log4cplus/hierarchylocker.h" "" 1 at_xfail=no ( printf "%s\n" "12. $at_setup_line: testing $at_desc ..." @@ -2797,9 +2798,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/initializer.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/hierarchylocker.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/initializer.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/hierarchylocker.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2854,7 +2855,7 @@ read at_status <"$at_status_file" #AT_STOP_12 #AT_START_13 at_fn_group_banner 13 'headers.at:1' \ - "separate compilation of log4cplus/layout.h" " " 1 + "separate compilation of log4cplus/initializer.h" "" 1 at_xfail=no ( printf "%s\n" "13. $at_setup_line: testing $at_desc ..." @@ -2863,9 +2864,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/layout.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/initializer.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/layout.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/initializer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2920,7 +2921,7 @@ read at_status <"$at_status_file" #AT_STOP_13 #AT_START_14 at_fn_group_banner 14 'headers.at:1' \ - "separate compilation of log4cplus/log4cplus.h" " " 1 + "separate compilation of log4cplus/layout.h" " " 1 at_xfail=no ( printf "%s\n" "14. $at_setup_line: testing $at_desc ..." @@ -2929,9 +2930,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4cplus.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/layout.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4cplus.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/layout.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -2986,7 +2987,7 @@ read at_status <"$at_status_file" #AT_STOP_14 #AT_START_15 at_fn_group_banner 15 'headers.at:1' \ - "separate compilation of log4cplus/log4judpappender.h" "" 1 + "separate compilation of log4cplus/log4cplus.h" " " 1 at_xfail=no ( printf "%s\n" "15. $at_setup_line: testing $at_desc ..." @@ -2995,9 +2996,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4judpappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4cplus.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4judpappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4cplus.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3052,7 +3053,7 @@ read at_status <"$at_status_file" #AT_STOP_15 #AT_START_16 at_fn_group_banner 16 'headers.at:1' \ - "separate compilation of log4cplus/logger.h" " " 1 + "separate compilation of log4cplus/log4judpappender.h" "" 1 at_xfail=no ( printf "%s\n" "16. $at_setup_line: testing $at_desc ..." @@ -3061,9 +3062,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/logger.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/log4judpappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/logger.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/log4judpappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3118,7 +3119,7 @@ read at_status <"$at_status_file" #AT_STOP_16 #AT_START_17 at_fn_group_banner 17 'headers.at:1' \ - "separate compilation of log4cplus/loggingmacros.h" "" 1 + "separate compilation of log4cplus/logger.h" " " 1 at_xfail=no ( printf "%s\n" "17. $at_setup_line: testing $at_desc ..." @@ -3127,9 +3128,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loggingmacros.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/logger.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/loggingmacros.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/logger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3184,7 +3185,7 @@ read at_status <"$at_status_file" #AT_STOP_17 #AT_START_18 at_fn_group_banner 18 'headers.at:1' \ - "separate compilation of log4cplus/loglevel.h" " " 1 + "separate compilation of log4cplus/loggingmacros.h" "" 1 at_xfail=no ( printf "%s\n" "18. $at_setup_line: testing $at_desc ..." @@ -3193,9 +3194,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loglevel.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loggingmacros.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/loglevel.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/loggingmacros.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3250,7 +3251,7 @@ read at_status <"$at_status_file" #AT_STOP_18 #AT_START_19 at_fn_group_banner 19 'headers.at:1' \ - "separate compilation of log4cplus/mdc.h" " " 1 + "separate compilation of log4cplus/loglevel.h" " " 1 at_xfail=no ( printf "%s\n" "19. $at_setup_line: testing $at_desc ..." @@ -3259,9 +3260,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/mdc.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/loglevel.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/mdc.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/loglevel.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3316,7 +3317,7 @@ read at_status <"$at_status_file" #AT_STOP_19 #AT_START_20 at_fn_group_banner 20 'headers.at:1' \ - "separate compilation of log4cplus/msttsappender.h" "" 1 + "separate compilation of log4cplus/mdc.h" " " 1 at_xfail=no ( printf "%s\n" "20. $at_setup_line: testing $at_desc ..." @@ -3325,9 +3326,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/msttsappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/mdc.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/msttsappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/mdc.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3382,7 +3383,7 @@ read at_status <"$at_status_file" #AT_STOP_20 #AT_START_21 at_fn_group_banner 21 'headers.at:1' \ - "separate compilation of log4cplus/ndc.h" " " 1 + "separate compilation of log4cplus/msttsappender.h" "" 1 at_xfail=no ( printf "%s\n" "21. $at_setup_line: testing $at_desc ..." @@ -3391,9 +3392,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/ndc.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/msttsappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/ndc.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/msttsappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3448,7 +3449,7 @@ read at_status <"$at_status_file" #AT_STOP_21 #AT_START_22 at_fn_group_banner 22 'headers.at:1' \ - "separate compilation of log4cplus/nteventlogappender.h" "" 1 + "separate compilation of log4cplus/ndc.h" " " 1 at_xfail=no ( printf "%s\n" "22. $at_setup_line: testing $at_desc ..." @@ -3457,9 +3458,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nteventlogappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/ndc.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/nteventlogappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/ndc.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3514,7 +3515,7 @@ read at_status <"$at_status_file" #AT_STOP_22 #AT_START_23 at_fn_group_banner 23 'headers.at:1' \ - "separate compilation of log4cplus/nullappender.h" "" 1 + "separate compilation of log4cplus/nteventlogappender.h" "" 1 at_xfail=no ( printf "%s\n" "23. $at_setup_line: testing $at_desc ..." @@ -3523,9 +3524,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nullappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nteventlogappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/nullappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/nteventlogappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3580,7 +3581,7 @@ read at_status <"$at_status_file" #AT_STOP_23 #AT_START_24 at_fn_group_banner 24 'headers.at:1' \ - "separate compilation of log4cplus/qt4debugappender.h" "" 1 + "separate compilation of log4cplus/nullappender.h" "" 1 at_xfail=no ( printf "%s\n" "24. $at_setup_line: testing $at_desc ..." @@ -3589,9 +3590,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/qt4debugappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/nullappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/qt4debugappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/nullappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3646,7 +3647,7 @@ read at_status <"$at_status_file" #AT_STOP_24 #AT_START_25 at_fn_group_banner 25 'headers.at:1' \ - "separate compilation of log4cplus/socketappender.h" "" 1 + "separate compilation of log4cplus/qt4debugappender.h" "" 1 at_xfail=no ( printf "%s\n" "25. $at_setup_line: testing $at_desc ..." @@ -3655,9 +3656,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/qt4debugappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/socketappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/qt4debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3712,7 +3713,7 @@ read at_status <"$at_status_file" #AT_STOP_25 #AT_START_26 at_fn_group_banner 26 'headers.at:1' \ - "separate compilation of log4cplus/streams.h" " " 1 + "separate compilation of log4cplus/socketappender.h" "" 1 at_xfail=no ( printf "%s\n" "26. $at_setup_line: testing $at_desc ..." @@ -3721,9 +3722,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/streams.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/socketappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3778,7 +3779,7 @@ read at_status <"$at_status_file" #AT_STOP_26 #AT_START_27 at_fn_group_banner 27 'headers.at:1' \ - "separate compilation of log4cplus/syslogappender.h" "" 1 + "separate compilation of log4cplus/streams.h" " " 1 at_xfail=no ( printf "%s\n" "27. $at_setup_line: testing $at_desc ..." @@ -3787,9 +3788,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/syslogappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/streams.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3844,7 +3845,7 @@ read at_status <"$at_status_file" #AT_STOP_27 #AT_START_28 at_fn_group_banner 28 'headers.at:1' \ - "separate compilation of log4cplus/tchar.h" " " 1 + "separate compilation of log4cplus/syslogappender.h" "" 1 at_xfail=no ( printf "%s\n" "28. $at_setup_line: testing $at_desc ..." @@ -3853,9 +3854,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tchar.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/syslogappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3910,7 +3911,7 @@ read at_status <"$at_status_file" #AT_STOP_28 #AT_START_29 at_fn_group_banner 29 'headers.at:1' \ - "separate compilation of log4cplus/tracelogger.h" "" 1 + "separate compilation of log4cplus/tchar.h" " " 1 at_xfail=no ( printf "%s\n" "29. $at_setup_line: testing $at_desc ..." @@ -3919,9 +3920,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tracelogger.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tchar.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3976,7 +3977,7 @@ read at_status <"$at_status_file" #AT_STOP_29 #AT_START_30 at_fn_group_banner 30 'headers.at:1' \ - "separate compilation of log4cplus/tstring.h" " " 1 + "separate compilation of log4cplus/tracelogger.h" "" 1 at_xfail=no ( printf "%s\n" "30. $at_setup_line: testing $at_desc ..." @@ -3985,9 +3986,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tstring.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tracelogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4042,7 +4043,7 @@ read at_status <"$at_status_file" #AT_STOP_30 #AT_START_31 at_fn_group_banner 31 'headers.at:1' \ - "separate compilation of log4cplus/version.h" " " 1 + "separate compilation of log4cplus/tstring.h" " " 1 at_xfail=no ( printf "%s\n" "31. $at_setup_line: testing $at_desc ..." @@ -4051,9 +4052,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/version.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/version.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tstring.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4108,7 +4109,7 @@ read at_status <"$at_status_file" #AT_STOP_31 #AT_START_32 at_fn_group_banner 32 'headers.at:1' \ - "separate compilation of log4cplus/win32consoleappender.h" "" 1 + "separate compilation of log4cplus/version.h" " " 1 at_xfail=no ( printf "%s\n" "32. $at_setup_line: testing $at_desc ..." @@ -4117,9 +4118,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/version.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32consoleappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/version.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4174,7 +4175,7 @@ read at_status <"$at_status_file" #AT_STOP_32 #AT_START_33 at_fn_group_banner 33 'headers.at:1' \ - "separate compilation of log4cplus/win32debugappender.h" "" 1 + "separate compilation of log4cplus/win32consoleappender.h" "" 1 at_xfail=no ( printf "%s\n" "33. $at_setup_line: testing $at_desc ..." @@ -4183,9 +4184,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32debugappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32consoleappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4240,7 +4241,7 @@ read at_status <"$at_status_file" #AT_STOP_33 #AT_START_34 at_fn_group_banner 34 'headers.at:1' \ - "separate compilation of log4cplus/helpers/appenderattachableimpl.h" "" 1 + "separate compilation of log4cplus/win32debugappender.h" "" 1 at_xfail=no ( printf "%s\n" "34. $at_setup_line: testing $at_desc ..." @@ -4249,9 +4250,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4306,7 +4307,7 @@ read at_status <"$at_status_file" #AT_STOP_34 #AT_START_35 at_fn_group_banner 35 'headers.at:1' \ - "separate compilation of log4cplus/helpers/connectorthread.h" "" 1 + "separate compilation of log4cplus/helpers/appenderattachableimpl.h" "" 1 at_xfail=no ( printf "%s\n" "35. $at_setup_line: testing $at_desc ..." @@ -4315,9 +4316,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4372,7 +4373,7 @@ read at_status <"$at_status_file" #AT_STOP_35 #AT_START_36 at_fn_group_banner 36 'headers.at:1' \ - "separate compilation of log4cplus/helpers/fileinfo.h" "" 1 + "separate compilation of log4cplus/helpers/connectorthread.h" "" 1 at_xfail=no ( printf "%s\n" "36. $at_setup_line: testing $at_desc ..." @@ -4381,9 +4382,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4438,7 +4439,7 @@ read at_status <"$at_status_file" #AT_STOP_36 #AT_START_37 at_fn_group_banner 37 'headers.at:1' \ - "separate compilation of log4cplus/helpers/lockfile.h" "" 1 + "separate compilation of log4cplus/helpers/fileinfo.h" "" 1 at_xfail=no ( printf "%s\n" "37. $at_setup_line: testing $at_desc ..." @@ -4447,9 +4448,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/lockfile.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4504,7 +4505,7 @@ read at_status <"$at_status_file" #AT_STOP_37 #AT_START_38 at_fn_group_banner 38 'headers.at:1' \ - "separate compilation of log4cplus/helpers/loglog.h" "" 1 + "separate compilation of log4cplus/helpers/lockfile.h" "" 1 at_xfail=no ( printf "%s\n" "38. $at_setup_line: testing $at_desc ..." @@ -4513,9 +4514,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/loglog.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/lockfile.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4570,7 +4571,7 @@ read at_status <"$at_status_file" #AT_STOP_38 #AT_START_39 at_fn_group_banner 39 'headers.at:1' \ - "separate compilation of log4cplus/helpers/pointer.h" "" 1 + "separate compilation of log4cplus/helpers/loglog.h" "" 1 at_xfail=no ( printf "%s\n" "39. $at_setup_line: testing $at_desc ..." @@ -4579,9 +4580,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/pointer.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/loglog.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4636,7 +4637,7 @@ read at_status <"$at_status_file" #AT_STOP_39 #AT_START_40 at_fn_group_banner 40 'headers.at:1' \ - "separate compilation of log4cplus/helpers/property.h" "" 1 + "separate compilation of log4cplus/helpers/pointer.h" "" 1 at_xfail=no ( printf "%s\n" "40. $at_setup_line: testing $at_desc ..." @@ -4645,9 +4646,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/property.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/pointer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4702,7 +4703,7 @@ read at_status <"$at_status_file" #AT_STOP_40 #AT_START_41 at_fn_group_banner 41 'headers.at:1' \ - "separate compilation of log4cplus/helpers/queue.h" "" 1 + "separate compilation of log4cplus/helpers/property.h" "" 1 at_xfail=no ( printf "%s\n" "41. $at_setup_line: testing $at_desc ..." @@ -4711,9 +4712,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/queue.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/property.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4768,7 +4769,7 @@ read at_status <"$at_status_file" #AT_STOP_41 #AT_START_42 at_fn_group_banner 42 'headers.at:1' \ - "separate compilation of log4cplus/helpers/snprintf.h" "" 1 + "separate compilation of log4cplus/helpers/queue.h" "" 1 at_xfail=no ( printf "%s\n" "42. $at_setup_line: testing $at_desc ..." @@ -4777,9 +4778,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/snprintf.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/queue.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4834,7 +4835,7 @@ read at_status <"$at_status_file" #AT_STOP_42 #AT_START_43 at_fn_group_banner 43 'headers.at:1' \ - "separate compilation of log4cplus/helpers/socket.h" "" 1 + "separate compilation of log4cplus/helpers/snprintf.h" "" 1 at_xfail=no ( printf "%s\n" "43. $at_setup_line: testing $at_desc ..." @@ -4843,9 +4844,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socket.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/snprintf.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4900,7 +4901,7 @@ read at_status <"$at_status_file" #AT_STOP_43 #AT_START_44 at_fn_group_banner 44 'headers.at:1' \ - "separate compilation of log4cplus/helpers/socketbuffer.h" "" 1 + "separate compilation of log4cplus/helpers/socket.h" "" 1 at_xfail=no ( printf "%s\n" "44. $at_setup_line: testing $at_desc ..." @@ -4909,9 +4910,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socket.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4966,7 +4967,7 @@ read at_status <"$at_status_file" #AT_STOP_44 #AT_START_45 at_fn_group_banner 45 'headers.at:1' \ - "separate compilation of log4cplus/helpers/stringhelper.h" "" 1 + "separate compilation of log4cplus/helpers/socketbuffer.h" "" 1 at_xfail=no ( printf "%s\n" "45. $at_setup_line: testing $at_desc ..." @@ -4975,9 +4976,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5032,7 +5033,7 @@ read at_status <"$at_status_file" #AT_STOP_45 #AT_START_46 at_fn_group_banner 46 'headers.at:1' \ - "separate compilation of log4cplus/helpers/timehelper.h" "" 1 + "separate compilation of log4cplus/helpers/stringhelper.h" "" 1 at_xfail=no ( printf "%s\n" "46. $at_setup_line: testing $at_desc ..." @@ -5041,9 +5042,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/timehelper.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5098,7 +5099,7 @@ read at_status <"$at_status_file" #AT_STOP_46 #AT_START_47 at_fn_group_banner 47 'headers.at:1' \ - "separate compilation of log4cplus/spi/appenderattachable.h" "" 1 + "separate compilation of log4cplus/helpers/timehelper.h" "" 1 at_xfail=no ( printf "%s\n" "47. $at_setup_line: testing $at_desc ..." @@ -5107,9 +5108,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/timehelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5164,7 +5165,7 @@ read at_status <"$at_status_file" #AT_STOP_47 #AT_START_48 at_fn_group_banner 48 'headers.at:1' \ - "separate compilation of log4cplus/spi/factory.h" "" 1 + "separate compilation of log4cplus/spi/appenderattachable.h" "" 1 at_xfail=no ( printf "%s\n" "48. $at_setup_line: testing $at_desc ..." @@ -5173,9 +5174,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/factory.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5230,7 +5231,7 @@ read at_status <"$at_status_file" #AT_STOP_48 #AT_START_49 at_fn_group_banner 49 'headers.at:1' \ - "separate compilation of log4cplus/spi/filter.h" " " 1 + "separate compilation of log4cplus/spi/factory.h" "" 1 at_xfail=no ( printf "%s\n" "49. $at_setup_line: testing $at_desc ..." @@ -5239,9 +5240,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/filter.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/factory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5296,7 +5297,7 @@ read at_status <"$at_status_file" #AT_STOP_49 #AT_START_50 at_fn_group_banner 50 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggerfactory.h" "" 1 + "separate compilation of log4cplus/spi/filter.h" " " 1 at_xfail=no ( printf "%s\n" "50. $at_setup_line: testing $at_desc ..." @@ -5305,9 +5306,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/filter.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5362,7 +5363,7 @@ read at_status <"$at_status_file" #AT_STOP_50 #AT_START_51 at_fn_group_banner 51 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggerimpl.h" "" 1 + "separate compilation of log4cplus/spi/loggerfactory.h" "" 1 at_xfail=no ( printf "%s\n" "51. $at_setup_line: testing $at_desc ..." @@ -5371,9 +5372,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5428,7 +5429,7 @@ read at_status <"$at_status_file" #AT_STOP_51 #AT_START_52 at_fn_group_banner 52 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggingevent.h" "" 1 + "separate compilation of log4cplus/spi/loggerimpl.h" "" 1 at_xfail=no ( printf "%s\n" "52. $at_setup_line: testing $at_desc ..." @@ -5437,9 +5438,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggingevent.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5494,7 +5495,7 @@ read at_status <"$at_status_file" #AT_STOP_52 #AT_START_53 at_fn_group_banner 53 'headers.at:1' \ - "separate compilation of log4cplus/spi/objectregistry.h" "" 1 + "separate compilation of log4cplus/spi/loggingevent.h" "" 1 at_xfail=no ( printf "%s\n" "53. $at_setup_line: testing $at_desc ..." @@ -5503,9 +5504,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/objectregistry.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggingevent.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5560,7 +5561,7 @@ read at_status <"$at_status_file" #AT_STOP_53 #AT_START_54 at_fn_group_banner 54 'headers.at:1' \ - "separate compilation of log4cplus/spi/rootlogger.h" "" 1 + "separate compilation of log4cplus/spi/objectregistry.h" "" 1 at_xfail=no ( printf "%s\n" "54. $at_setup_line: testing $at_desc ..." @@ -5569,9 +5570,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/rootlogger.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/objectregistry.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5626,7 +5627,7 @@ read at_status <"$at_status_file" #AT_STOP_54 #AT_START_55 at_fn_group_banner 55 'headers.at:1' \ - "separate compilation of log4cplus/thread/syncprims-pub-impl.h" "" 1 + "separate compilation of log4cplus/spi/rootlogger.h" "" 1 at_xfail=no ( printf "%s\n" "55. $at_setup_line: testing $at_desc ..." @@ -5635,9 +5636,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/rootlogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5692,7 +5693,7 @@ read at_status <"$at_status_file" #AT_STOP_55 #AT_START_56 at_fn_group_banner 56 'headers.at:1' \ - "separate compilation of log4cplus/thread/syncprims.h" "" 1 + "separate compilation of log4cplus/thread/syncprims-pub-impl.h" "" 1 at_xfail=no ( printf "%s\n" "56. $at_setup_line: testing $at_desc ..." @@ -5701,9 +5702,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5758,7 +5759,7 @@ read at_status <"$at_status_file" #AT_STOP_56 #AT_START_57 at_fn_group_banner 57 'headers.at:1' \ - "separate compilation of log4cplus/thread/threads.h" "" 1 + "separate compilation of log4cplus/thread/syncprims.h" "" 1 at_xfail=no ( printf "%s\n" "57. $at_setup_line: testing $at_desc ..." @@ -5767,9 +5768,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/threads.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5823,8 +5824,8 @@ fi read at_status <"$at_status_file" #AT_STOP_57 #AT_START_58 -at_fn_group_banner 58 'appender_test.at:1' \ - "appender_test" " " 2 +at_fn_group_banner 58 'headers.at:1' \ + "separate compilation of log4cplus/thread/threads.h" "" 1 at_xfail=no ( printf "%s\n" "58. $at_setup_line: testing $at_desc ..." @@ -5832,6 +5833,72 @@ at_xfail=no + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/threads.h\"">test.cxx +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + + + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + +fi + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_58 +#AT_START_59 +at_fn_group_banner 59 'appender_test.at:1' \ + "appender_test" " " 2 +at_xfail=no +( + printf "%s\n" "59. $at_setup_line: testing $at_desc ..." + $at_traceon + + + { set +x printf "%s\n" "$at_srcdir/appender_test.at:4: cp -f \"\${abs_srcdir}/appender_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "appender_test.at:4" @@ -5883,13 +5950,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_58 -#AT_START_59 -at_fn_group_banner 59 'configandwatch_test.at:1' \ +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'configandwatch_test.at:1' \ "configandwatch_test" " " 2 at_xfail=no ( - printf "%s\n" "59. $at_setup_line: testing $at_desc ..." + printf "%s\n" "60. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5975,13 +6042,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_59 -#AT_START_60 -at_fn_group_banner 60 'customloglevel_test.at:1' \ +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'customloglevel_test.at:1' \ "customloglevel_test" " " 2 at_xfail=no ( - printf "%s\n" "60. $at_setup_line: testing $at_desc ..." + printf "%s\n" "61. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6037,13 +6104,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_60 -#AT_START_61 -at_fn_group_banner 61 'fileappender_test.at:1' \ +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'fileappender_test.at:1' \ "fileappender_test" " " 2 at_xfail=no ( - printf "%s\n" "61. $at_setup_line: testing $at_desc ..." + printf "%s\n" "62. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6138,13 +6205,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_61 -#AT_START_62 -at_fn_group_banner 62 'filter_test.at:1' \ +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'filter_test.at:1' \ "filter_test" " " 2 at_xfail=no ( - printf "%s\n" "62. $at_setup_line: testing $at_desc ..." + printf "%s\n" "63. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6420,13 +6487,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_62 -#AT_START_63 -at_fn_group_banner 63 'hierarchy_test.at:1' \ +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'hierarchy_test.at:1' \ "hierarchy_test" " " 2 at_xfail=no ( - printf "%s\n" "63. $at_setup_line: testing $at_desc ..." + printf "%s\n" "64. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6482,13 +6549,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_63 -#AT_START_64 -at_fn_group_banner 64 'loglog_test.at:1' \ +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'loglog_test.at:1' \ "loglog_test" " " 2 at_xfail=no ( - printf "%s\n" "64. $at_setup_line: testing $at_desc ..." + printf "%s\n" "65. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6557,13 +6624,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_64 -#AT_START_65 -at_fn_group_banner 65 'ndc_test.at:1' \ +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'ndc_test.at:1' \ "ndc_test" " " 2 at_xfail=no ( - printf "%s\n" "65. $at_setup_line: testing $at_desc ..." + printf "%s\n" "66. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6619,13 +6686,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_65 -#AT_START_66 -at_fn_group_banner 66 'ostream_test.at:1' \ +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'ostream_test.at:1' \ "ostream_test" " " 2 at_xfail=no ( - printf "%s\n" "66. $at_setup_line: testing $at_desc ..." + printf "%s\n" "67. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6681,13 +6748,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_66 -#AT_START_67 -at_fn_group_banner 67 'patternlayout_test.at:1' \ +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'patternlayout_test.at:1' \ "patternlayout_test" " " 2 at_xfail=no ( - printf "%s\n" "67. $at_setup_line: testing $at_desc ..." + printf "%s\n" "68. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6779,13 +6846,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_67 -#AT_START_68 -at_fn_group_banner 68 'performance_test.at:1' \ +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'performance_test.at:1' \ "performance_test" " " 2 at_xfail=no ( - printf "%s\n" "68. $at_setup_line: testing $at_desc ..." + printf "%s\n" "69. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6867,13 +6934,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_68 -#AT_START_69 -at_fn_group_banner 69 'priority_test.at:1' \ +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'priority_test.at:1' \ "priority_test" " " 2 at_xfail=no ( - printf "%s\n" "69. $at_setup_line: testing $at_desc ..." + printf "%s\n" "70. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6929,13 +6996,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_69 -#AT_START_70 -at_fn_group_banner 70 'propertyconfig_test.at:1' \ +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'propertyconfig_test.at:1' \ "propertyconfig_test" " " 2 at_xfail=no ( - printf "%s\n" "70. $at_setup_line: testing $at_desc ..." + printf "%s\n" "71. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7069,13 +7136,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_70 -#AT_START_71 -at_fn_group_banner 71 'thread_test.at:1' \ +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'thread_test.at:1' \ "thread_test" " " 2 at_xfail=no ( - printf "%s\n" "71. $at_setup_line: testing $at_desc ..." + printf "%s\n" "72. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7121,13 +7188,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_71 -#AT_START_72 -at_fn_group_banner 72 'timeformat_test.at:1' \ +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'timeformat_test.at:1' \ "timeformat_test" " " 2 at_xfail=no ( - printf "%s\n" "72. $at_setup_line: testing $at_desc ..." + printf "%s\n" "73. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7196,13 +7263,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_72 -#AT_START_73 -at_fn_group_banner 73 'unit_tests.at:1' \ +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'unit_tests.at:1' \ "unit_tests" " " 2 at_xfail=no ( - printf "%s\n" "73. $at_setup_line: testing $at_desc ..." + printf "%s\n" "74. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7245,4 +7312,4 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_73 +#AT_STOP_74 From 02e2df5858cec24969034208332570b638d3c287 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 9 Feb 2023 18:32:51 +0100 Subject: [PATCH 156/353] Adjust log4cplus_soversion related regexp. --- scripts/propagate-version.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/propagate-version.pl b/scripts/propagate-version.pl index f2e2e7707..29a46dc71 100755 --- a/scripts/propagate-version.pl +++ b/scripts/propagate-version.pl @@ -42,9 +42,9 @@ BEGIN (\d+) \s* : \s* (\d+) \s* : \s* (\d+) \s*/x) { ($so_current, $so_revision, $so_age) = ($1, $2, $3); + $so_current_adjusted = $so_current - $so_age; print +("SO version: ", $so_current, ".", $so_revision, ".", $so_age, "\n"); - $so_current_adjusted = $so_current - $so_age; print +("MingGW/Cygwin version: ", $major, "-", $minor, "-", $so_current_adjusted, "\n"); last; @@ -111,7 +111,7 @@ BEGIN local @ARGV = ("CMakeLists.txt"); while (my $line = <>) { - $line =~ s/^(\s* set \s* \( \s* log4cplus_soversion \s*) (\d+)/$1$so_current_adjusted/x + $line =~ s/^(\s* set \s* \( \s* log4cplus_soversion \s*) [^)]* (\).*)$/$1$so_current_adjusted$2/x || $line =~ s/^(\s* set \s* \( \s* log4cplus_macho_current_version \s*) (\d+(?:\.\d+)+)/$1$so_current.0.0/x || $line =~ s/^(\s* set \s* \( \s* log4cplus_macho_compatibility_version \s*) (\d+(?:\.\d+)+)/$1$so_current_adjusted.0.0/x; print $line; From 2eb48f77bc4181b1ec4181f148a19c89b75fd427 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 9 Feb 2023 18:29:37 +0100 Subject: [PATCH 157/353] Install README.md, ChangeLog, and LICENSE files. --- CMakeLists.txt | 3 ++- src/CMakeLists.txt | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 11de653c9..0dba5e6e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,8 @@ include(GNUInstallDirs) include (Log4CPlusUtils.cmake) log4cplus_get_version ("${PROJECT_SOURCE_DIR}/include" log4cplus_version_major log4cplus_version_minor log4cplus_version_patch) -message("-- Generating build for Log4cplus version ${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +set (log4cplus_version_str "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +message("-- Generating build for Log4cplus version ${log4cplus_version_str}") set (log4cplus_soversion 0) set (log4cplus_postfix "") if (APPLE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 89abf90a5..0ecff3aef 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -270,3 +270,8 @@ install(FILES ../include/log4cplus/config/macosx.h ../include/log4cplus/config/windowsh-inc.h ${log4cplus_BINARY_DIR}/include/log4cplus/config/defines.hxx DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/log4cplus/config ) + +install(FILES ../README.md + ../LICENSE + ../ChangeLog + DESTINATION ${CMAKE_INSTALL_DATADIR}/log4cplus) \ No newline at end of file From e59aa30da126cacd4927f0be64afd3c9ff861714 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 6 Feb 2023 22:34:04 +0100 Subject: [PATCH 158/353] Fix version in appveyor.yml. --- scripts/propagate-version.pl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/propagate-version.pl b/scripts/propagate-version.pl index 29a46dc71..5ee828516 100755 --- a/scripts/propagate-version.pl +++ b/scripts/propagate-version.pl @@ -116,4 +116,11 @@ BEGIN || $line =~ s/^(\s* set \s* \( \s* log4cplus_macho_compatibility_version \s*) (\d+(?:\.\d+)+)/$1$so_current_adjusted.0.0/x; print $line; } + + local @ARGV = ("appveyor.yml"); + while (my $line = <>) + { + $line =~ s/^(version:\s+).*$/$1$version.{build}-{branch}/x; + print $line; + } } From 28d27ac64ab349d6869f00d60feac3c6dc51c7da Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 21:34:21 +0100 Subject: [PATCH 159/353] Compile as C++20. --- CMakeLists.txt | 4 +- Makefile.in | 13 +- acinclude.m4 | 2 +- aclocal.m4 | 1 - configure | 949 ++++++++++++++++++++++++++++++++- configure.ac | 2 +- include/Makefile.in | 13 +- m4/ax_cxx_compile_stdcxx.m4 | 79 ++- m4/ax_cxx_compile_stdcxx_17.m4 | 35 -- 9 files changed, 1012 insertions(+), 86 deletions(-) delete mode 100644 m4/ax_cxx_compile_stdcxx_17.m4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0dba5e6e8..9dba76ea3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,12 +19,12 @@ set (CMAKE_POSITION_INDEPENDENT_CODE ON) enable_language (CXX) if (MSVC) - set (CMAKE_CXX_STANDARD 17) + set (CMAKE_CXX_STANDARD 20) if (CMAKE_VS_PLATFORM_NAME MATCHES "ARM") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") endif () else () - set (CMAKE_CXX_STANDARD 17) + set (CMAKE_CXX_STANDARD 20) endif () set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_EXTENSIONS ON) diff --git a/Makefile.in b/Makefile.in index 35ea1946e..d1aec8b2a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -150,11 +150,10 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/ax_c_ifdef.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ @@ -171,7 +170,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/ax_pkg_swig.m4 \ $(top_srcdir)/m4/ax_python_devel.m4 \ $(top_srcdir)/m4/ax_swig_multi_module_support.m4 \ - $(top_srcdir)/m4/ax_cxx_compile_stdcxx_17.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ $(top_srcdir)/m4/ax_gcc_var_attribute.m4 \ $(top_srcdir)/tests/configure.m4 $(top_srcdir)/configure.ac @@ -1067,7 +1066,7 @@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GREP = @GREP@ -HAVE_CXX17 = @HAVE_CXX17@ +HAVE_CXX20 = @HAVE_CXX20@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/acinclude.m4 b/acinclude.m4 index 94cd1e358..ac7d75c12 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -17,6 +17,6 @@ m4_include([m4/pkg.m4]) m4_include([m4/ax_pkg_swig.m4]) m4_include([m4/ax_python_devel.m4]) m4_include([m4/ax_swig_multi_module_support.m4]) -m4_include([m4/ax_cxx_compile_stdcxx_17.m4]) +m4_include([m4/ax_cxx_compile_stdcxx.m4]) m4_include([m4/ax_gcc_func_attribute.m4]) m4_include([m4/ax_gcc_var_attribute.m4]) diff --git a/aclocal.m4 b/aclocal.m4 index 1434c51f7..b7382fe6a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1588,7 +1588,6 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -m4_include([m4/ax_cxx_compile_stdcxx.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) diff --git a/configure b/configure index 96b7aafb1..6b88e9952 100755 --- a/configure +++ b/configure @@ -730,7 +730,7 @@ USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_TRUE LOG4CPLUS_AIX_XLC_LDFLAGS GREP SED -HAVE_CXX17 +HAVE_CXX20 CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE @@ -6218,7 +6218,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ax_cxx_compile_alternatives="17 1z" ax_cxx_compile_cxx17_required=true + ax_cxx_compile_alternatives="20" ax_cxx_compile_cxx20_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6226,12 +6226,851 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_success=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features by default" >&5 +printf %s "checking whether $CXX supports C++20 features by default... " >&6; } +if test ${ax_cv_cxx_compile_cxx20+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual ~Base() {} + virtual void f() {} + }; + + struct Derived : public Base + { + virtual ~Derived() override {} + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + + + + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L && !defined _MSC_VER + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + + + + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L && !defined _MSC_VER + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L && !defined _MSC_VER + + + + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER + + + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ax_cv_cxx_compile_cxx20=yes +else $as_nop + ax_cv_cxx_compile_cxx20=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx20" >&5 +printf "%s\n" "$ax_cv_cxx_compile_cxx20" >&6; } + if test x$ax_cv_cxx_compile_cxx20 = xyes; then + ac_success=yes + fi + if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do switch="-std=gnu++${alternative}" - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 -printf %s "checking whether $CXX supports C++17 features with $switch... " >&6; } + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 +printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 @@ -6249,7 +7088,11 @@ else $as_nop #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -6274,11 +7117,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -6534,7 +7379,7 @@ namespace cxx11 #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -6654,7 +7499,7 @@ namespace cxx14 #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -7020,7 +7865,33 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + + + + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER @@ -7051,9 +7922,9 @@ printf "%s\n" "$ac_res" >&6; } if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 -printf %s "checking whether $CXX supports C++17 features with $switch... " >&6; } + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 +printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 @@ -7071,7 +7942,11 @@ else $as_nop #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -7096,11 +7971,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -7356,7 +8233,7 @@ namespace cxx11 #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -7476,7 +8353,7 @@ namespace cxx14 #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -7842,7 +8719,33 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + + + + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER @@ -7879,19 +8782,19 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test x$ax_cxx_compile_cxx17_required = xtrue; then + if test x$ax_cxx_compile_cxx20_required = xtrue; then if test x$ac_success = xno; then - as_fn_error $? "*** A compiler with support for C++17 language features is required." "$LINENO" 5 + as_fn_error $? "*** A compiler with support for C++20 language features is required." "$LINENO" 5 fi fi if test x$ac_success = xno; then - HAVE_CXX17=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 -printf "%s\n" "$as_me: No compiler with C++17 support was found" >&6;} + HAVE_CXX20=0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++20 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++20 support was found" >&6;} else - HAVE_CXX17=1 + HAVE_CXX20=1 -printf "%s\n" "#define HAVE_CXX17 1" >>confdefs.h +printf "%s\n" "#define HAVE_CXX20 1" >>confdefs.h fi diff --git a/configure.ac b/configure.ac index 3ffcd0019..1971545a0 100644 --- a/configure.ac +++ b/configure.ac @@ -175,7 +175,7 @@ AC_PROG_CXX AC_PROG_CXXCPP AC_LANG([C++]) -AX_CXX_COMPILE_STDCXX_17 +AX_CXX_COMPILE_STDCXX([20],[],[mandatory]) AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE=1"]) diff --git a/include/Makefile.in b/include/Makefile.in index 46d158a26..31b9ec437 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -91,11 +91,10 @@ host_triplet = @host@ target_triplet = @target@ subdir = include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/ax_c_ifdef.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ @@ -112,7 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/ax_pkg_swig.m4 \ $(top_srcdir)/m4/ax_python_devel.m4 \ $(top_srcdir)/m4/ax_swig_multi_module_support.m4 \ - $(top_srcdir)/m4/ax_cxx_compile_stdcxx_17.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ $(top_srcdir)/m4/ax_gcc_var_attribute.m4 \ $(top_srcdir)/tests/configure.m4 $(top_srcdir)/configure.ac @@ -227,7 +226,7 @@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GREP = @GREP@ -HAVE_CXX17 = @HAVE_CXX17@ +HAVE_CXX20 = @HAVE_CXX20@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 index 9e9eaedaa..a3d964c69 100644 --- a/m4/ax_cxx_compile_stdcxx.m4 +++ b/m4/ax_cxx_compile_stdcxx.m4 @@ -10,13 +10,13 @@ # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -34,13 +34,16 @@ # Copyright (c) 2015 Paul Norman # Copyright (c) 2015 Moritz Klammler # Copyright (c) 2016, 2018 Krzesimir Nowak +# Copyright (c) 2019 Enji Cooper +# Copyright (c) 2020 Jason Merrill +# Copyright (c) 2021 Jörn Heusipp # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 10 +#serial 15 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -49,6 +52,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -61,6 +65,16 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do @@ -139,7 +153,6 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) - dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], @@ -147,12 +160,24 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) +dnl Test body for checking C++17 support + m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ @@ -164,7 +189,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -189,11 +218,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -453,7 +484,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -577,7 +608,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -943,6 +974,36 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER ]]) diff --git a/m4/ax_cxx_compile_stdcxx_17.m4 b/m4/ax_cxx_compile_stdcxx_17.m4 deleted file mode 100644 index a68341717..000000000 --- a/m4/ax_cxx_compile_stdcxx_17.m4 +++ /dev/null @@ -1,35 +0,0 @@ -# ============================================================================= -# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_17.html -# ============================================================================= -# -# SYNOPSIS -# -# AX_CXX_COMPILE_STDCXX_17([ext|noext], [mandatory|optional]) -# -# DESCRIPTION -# -# Check for baseline language coverage in the compiler for the C++17 -# standard; if necessary, add switches to CXX and CXXCPP to enable -# support. -# -# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX -# macro with the version set to C++17. The two optional arguments are -# forwarded literally as the second and third argument respectively. -# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for -# more information. If you want to use this macro, you also need to -# download the ax_cxx_compile_stdcxx.m4 file. -# -# LICENSE -# -# Copyright (c) 2015 Moritz Klammler -# Copyright (c) 2016 Krzesimir Nowak -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 2 - -AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) -AC_DEFUN([AX_CXX_COMPILE_STDCXX_17], [AX_CXX_COMPILE_STDCXX([17], [$1], [$2])]) From f4e0cdb62d642f29f62337405319478ea8326acb Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 21:41:31 +0100 Subject: [PATCH 160/353] Update ax_append_flag.m4. --- configure | 22 +++++++++++++---- m4/ax_append_flag.m4 | 58 ++++++++++++++++---------------------------- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/configure b/configure index 6b88e9952..d2fc25b2b 100755 --- a/configure +++ b/configure @@ -9040,8 +9040,10 @@ case ".$ac_cv_cxxflags_warn_all" in #( .|.no|.no,*) : ;; #( *) : - if test ${CXXFLAGS+y} + +if test ${CXXFLAGS+y} then : + case " $CXXFLAGS " in #( *" $ac_cv_cxxflags_warn_all "*) : { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$ac_cv_cxxflags_warn_all"; } >&5 @@ -9050,15 +9052,25 @@ then : printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } ;; #( *) : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$ac_cv_cxxflags_warn_all\""; } >&5 - (: CXXFLAGS="$CXXFLAGS $ac_cv_cxxflags_warn_all") 2>&5 + + as_fn_append CXXFLAGS " $ac_cv_cxxflags_warn_all" + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - as_fn_append CXXFLAGS " $ac_cv_cxxflags_warn_all" ;; + ;; esac + else $as_nop - CXXFLAGS="$ac_cv_cxxflags_warn_all" + + CXXFLAGS=$ac_cv_cxxflags_warn_all + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 + (: CXXFLAGS="$CXXFLAGS") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + fi ;; esac diff --git a/m4/ax_append_flag.m4 b/m4/ax_append_flag.m4 index 829013f8c..dd6d8b614 100644 --- a/m4/ax_append_flag.m4 +++ b/m4/ax_append_flag.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html +# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html # =========================================================================== # # SYNOPSIS @@ -23,44 +23,28 @@ # Copyright (c) 2008 Guido U. Draheim # Copyright (c) 2011 Maarten Bosmans # -# 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. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. -#serial 3 +#serial 8 AC_DEFUN([AX_APPEND_FLAG], -[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX -AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])dnl -AS_VAR_SET_IF(FLAGS, - [AS_CASE([" AS_VAR_GET(FLAGS) "], - [*" $1 "*], - [AC_RUN_LOG([: FLAGS already contains $1])], - - [AC_RUN_LOG([: FLAGS="$FLAGS $1"]) - AS_VAR_APPEND(FLAGS, [" $1"])])], - [AS_VAR_SET(FLAGS,["$1"])]) +[dnl +AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF +AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) +AS_VAR_SET_IF(FLAGS,[ + AS_CASE([" AS_VAR_GET(FLAGS) "], + [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], + [ + AS_VAR_APPEND(FLAGS,[" $1"]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) + ], + [ + AS_VAR_SET(FLAGS,[$1]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) AS_VAR_POPDEF([FLAGS])dnl ])dnl AX_APPEND_FLAG From 2bf9ce40e208359d6eac7c871121deb8a6d57d3e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 21:52:28 +0100 Subject: [PATCH 161/353] Update ax_compiler_vendor.m4. --- configure | 59 ++++++++++++---------- m4/ax_compiler_vendor.m4 | 106 +++++++++++++++++++++++++-------------- 2 files changed, 100 insertions(+), 65 deletions(-) diff --git a/configure b/configure index d2fc25b2b..fba3061f4 100755 --- a/configure +++ b/configure @@ -8926,33 +8926,40 @@ printf "%s\n" "$ac_cv_path_SED" >&6; } rm -f conftest.sed - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5 printf %s "checking for C++ compiler vendor... " >&6; } if test ${ax_cv_cxx_compiler_vendor+y} then : printf %s "(cached) " >&6 else $as_nop - # note: don't check for gcc first since some other compilers define __GNUC__ - vendors="intel: __ICC,__ECC,__INTEL_COMPILER - ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__ - pathscale: __PATHCC__,__PATHSCALE__ - clang: __clang__ - gnu: __GNUC__ - sun: __SUNPRO_C,__SUNPRO_CC - hp: __HP_cc,__HP_aCC - dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER - borland: __BORLANDC__,__TURBOC__ - comeau: __COMO__ - cray: _CRAYC - kai: __KCC - lcc: __LCC__ - sgi: __sgi,sgi - microsoft: _MSC_VER - metrowerks: __MWERKS__ - watcom: __WATCOMC__ - portland: __PGI - unknown: UNKNOWN" - for ventest in $vendors; do + + vendors=" + intel: __ICC,__ECC,__INTEL_COMPILER + ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__,__ibmxl__ + pathscale: __PATHCC__,__PATHSCALE__ + clang: __clang__ + cray: _CRAYC + fujitsu: __FUJITSU + sdcc: SDCC,__SDCC + sx: _SX + nvhpc: __NVCOMPILER + portland: __PGI + gnu: __GNUC__ + sun: __SUNPRO_C,__SUNPRO_CC,__SUNPRO_F90,__SUNPRO_F95 + hp: __HP_cc,__HP_aCC + dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER + borland: __BORLANDC__,__CODEGEARC__,__TURBOC__ + comeau: __COMO__ + kai: __KCC + lcc: __LCC__ + sgi: __sgi,sgi + microsoft: _MSC_VER + metrowerks: __MWERKS__ + watcom: __WATCOMC__ + tcc: __TINYC__ + unknown: UNKNOWN + " + for ventest in $vendors; do case $ventest in #( *:) : vendor=$ventest @@ -8967,9 +8974,9 @@ int main (void) { - #if !($vencpp) - thisisanerror; - #endif +#if !($vencpp) + thisisanerror; +#endif ; return 0; @@ -8980,7 +8987,7 @@ then : break fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - done + done ax_cv_cxx_compiler_vendor="`printf "%s\n" $vendor | cut -d: -f1`" fi diff --git a/m4/ax_compiler_vendor.m4 b/m4/ax_compiler_vendor.m4 index ade352c0c..8f45274a0 100644 --- a/m4/ax_compiler_vendor.m4 +++ b/m4/ax_compiler_vendor.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html +# https://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html # =========================================================================== # # SYNOPSIS @@ -8,15 +8,30 @@ # # DESCRIPTION # -# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun, -# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft, -# watcom, etc. The vendor is returned in the cache variable -# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++. +# Determine the vendor of the C, C++ or Fortran compiler. The vendor is +# returned in the cache variable $ax_cv_c_compiler_vendor for C, +# $ax_cv_cxx_compiler_vendor for C++ or $ax_cv_fc_compiler_vendor for +# (modern) Fortran. The value is one of "intel", "ibm", "pathscale", +# "clang" (LLVM), "cray", "fujitsu", "sdcc", "sx", "nvhpc" (NVIDIA HPC +# Compiler), "portland" (PGI), "gnu" (GCC), "sun" (Oracle Developer +# Studio), "hp", "dec", "borland", "comeau", "kai", "lcc", "sgi", +# "microsoft", "metrowerks", "watcom", "tcc" (Tiny CC) or "unknown" (if +# the compiler cannot be determined). +# +# To check for a Fortran compiler, you must first call AC_FC_PP_SRCEXT +# with an appropriate preprocessor-enabled extension. For example: +# +# AC_LANG_PUSH([Fortran]) +# AC_PROG_FC +# AC_FC_PP_SRCEXT([F]) +# AX_COMPILER_VENDOR +# AC_LANG_POP([Fortran]) # # LICENSE # # Copyright (c) 2008 Steven G. Johnson # Copyright (c) 2008 Matteo Frigo +# Copyright (c) 2018-19 John Zaitseff # # 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 @@ -29,7 +44,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -44,32 +59,45 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 12 +#serial 32 + +AC_DEFUN([AX_COMPILER_VENDOR], [dnl + AC_REQUIRE([AC_PROG_SED]) + AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, [dnl + dnl If you modify this list of vendors, please add similar support + dnl to ax_compiler_version.m4 if at all possible. + dnl + dnl Note: Do NOT check for GCC first since some other compilers + dnl define __GNUC__ to remain compatible with it. Compilers that + dnl are very slow to start (such as Intel) are listed first. -AC_DEFUN([AX_COMPILER_VENDOR], -[AC_REQUIRE([AC_PROG_SED]) - AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, - [# note: don't check for gcc first since some other compilers define __GNUC__ - vendors="intel: __ICC,__ECC,__INTEL_COMPILER - ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__ - pathscale: __PATHCC__,__PATHSCALE__ - clang: __clang__ - gnu: __GNUC__ - sun: __SUNPRO_C,__SUNPRO_CC - hp: __HP_cc,__HP_aCC - dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER - borland: __BORLANDC__,__TURBOC__ - comeau: __COMO__ - cray: _CRAYC - kai: __KCC - lcc: __LCC__ - sgi: __sgi,sgi - microsoft: _MSC_VER - metrowerks: __MWERKS__ - watcom: __WATCOMC__ - portland: __PGI - unknown: UNKNOWN" - for ventest in $vendors; do + vendors=" + intel: __ICC,__ECC,__INTEL_COMPILER + ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__,__ibmxl__ + pathscale: __PATHCC__,__PATHSCALE__ + clang: __clang__ + cray: _CRAYC + fujitsu: __FUJITSU + sdcc: SDCC,__SDCC + sx: _SX + nvhpc: __NVCOMPILER + portland: __PGI + gnu: __GNUC__ + sun: __SUNPRO_C,__SUNPRO_CC,__SUNPRO_F90,__SUNPRO_F95 + hp: __HP_cc,__HP_aCC + dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER + borland: __BORLANDC__,__CODEGEARC__,__TURBOC__ + comeau: __COMO__ + kai: __KCC + lcc: __LCC__ + sgi: __sgi,sgi + microsoft: _MSC_VER + metrowerks: __MWERKS__ + watcom: __WATCOMC__ + tcc: __TINYC__ + unknown: UNKNOWN + " + for ventest in $vendors; do AS_CASE([$ventest], [*:], [AS_VAR_COPY([vendor], [ventest]) @@ -77,13 +105,13 @@ AC_DEFUN([AX_COMPILER_VENDOR], [AS_VAR_SET([vencpp], ["defined("`AS_ECHO($ventest) | $SED 's/,/) || defined(/g'`")"])]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ - #if !($vencpp) - thisisanerror; - #endif - ]])], [break]) - done + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[[ +#if !($vencpp) + thisisanerror; +#endif + ]])], [break]) + done AS_VAR_SET([ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor], ["`AS_ECHO($vendor) | cut -d: -f1`"]) - ]) -]) + ]) +])dnl From 3f08a02a9217cc199d28b328ece5d7771e8fcd7d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 21:54:40 +0100 Subject: [PATCH 162/353] Update ax_gcc_var_attribute.m4. --- configure | 2 -- m4/ax_gcc_var_attribute.m4 | 8 +++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/configure b/configure index fba3061f4..1b0d7a3c8 100755 --- a/configure +++ b/configure @@ -12403,10 +12403,8 @@ else $as_nop /* end confdefs.h. */ - #include struct bar { bar() {} ~bar() {} }; bar b __attribute__((init_priority(65535/2))); - static std::string name __attribute__((init_priority(65535/2))) ("test"); int main (void) diff --git a/m4/ax_gcc_var_attribute.m4 b/m4/ax_gcc_var_attribute.m4 index 4b7ec061b..47635d467 100644 --- a/m4/ax_gcc_var_attribute.m4 +++ b/m4/ax_gcc_var_attribute.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_gcc_var_attribute.html +# https://www.gnu.org/software/autoconf-archive/ax_gcc_var_attribute.html # =========================================================================== # # SYNOPSIS @@ -39,7 +39,7 @@ # dllexport # init_priority # -# Unsuppored variable attributes will be tested against a global integer +# Unsupported variable attributes will be tested against a global integer # variable and without any arguments given to the attribute itself; the # result of this check might be wrong or meaningless so use with care. # @@ -52,7 +52,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 2 +#serial 5 AC_DEFUN([AX_GCC_VAR_ATTRIBUTE], [ AS_VAR_PUSHDEF([ac_var], [ax_cv_have_var_attribute_$1]) @@ -108,10 +108,8 @@ AC_DEFUN([AX_GCC_VAR_ATTRIBUTE], [ int foo __attribute__(($1)); ], [init_priority], [ - #include struct bar { bar() {} ~bar() {} }; bar b __attribute__(($1(65535/2))); - static std::string name __attribute__(($1(65535/2))) ("test"); ], [ m4_warn([syntax], [Unsupported attribute $1, the test may fail]) From f52a88c38037699b3dd2feb9190f6f4704822f7b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 21:56:35 +0100 Subject: [PATCH 163/353] Update ax_gcc_func_attribute.m4. --- configure | 4 ++-- m4/ax_gcc_func_attribute.m4 | 31 +++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 1b0d7a3c8..1646e6e72 100755 --- a/configure +++ b/configure @@ -12300,7 +12300,7 @@ main (void) _ACEOF if ac_fn_cxx_try_link "$LINENO" then : - if test -s conftest.err + if grep -- -Wattributes conftest.err then : ax_cv_have_func_attribute_constructor_priority=no else $as_nop @@ -12358,7 +12358,7 @@ main (void) _ACEOF if ac_fn_cxx_try_link "$LINENO" then : - if test -s conftest.err + if grep -- -Wattributes conftest.err then : ax_cv_have_func_attribute_constructor=no else $as_nop diff --git a/m4/ax_gcc_func_attribute.m4 b/m4/ax_gcc_func_attribute.m4 index 5ffe071d1..fa4e089d6 100644 --- a/m4/ax_gcc_func_attribute.m4 +++ b/m4/ax_gcc_func_attribute.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html +# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html # =========================================================================== # # SYNOPSIS @@ -38,9 +38,11 @@ # dllimport # error # externally_visible +# fallthrough # flatten # format # format_arg +# gnu_format # gnu_inline # hot # ifunc @@ -53,6 +55,8 @@ # nothrow # optimize # pure +# sentinel +# sentinel_position # unused # used # visibility @@ -61,9 +65,9 @@ # weak # weakref # -# Unsuppored function attributes will be tested with a prototype returning -# an int and not accepting any arguments and the result of the check might -# be wrong or meaningless so use with care. +# Unsupported function attributes will be tested with a prototype +# returning an int and not accepting any arguments and the result of the +# check might be wrong or meaningless so use with care. # # LICENSE # @@ -74,7 +78,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 2 +#serial 13 AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) @@ -128,12 +132,18 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [externally_visible], [ int foo( void ) __attribute__(($1)); ], + [fallthrough], [ + void foo( int x ) {switch (x) { case 1: __attribute__(($1)); case 2: break ; }}; + ], [flatten], [ int foo( void ) __attribute__(($1)); ], [format], [ int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); ], + [gnu_format], [ + int foo(const char *p, ...) __attribute__((format(gnu_printf, 1, 2))); + ], [format_arg], [ char *foo(const char *p) __attribute__(($1(1))); ], @@ -175,6 +185,15 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [pure], [ int foo( void ) __attribute__(($1)); ], + [sentinel], [ + int foo(void *p, ...) __attribute__(($1)); + ], + [sentinel_position], [ + int foo(void *p, ...) __attribute__(($1(1))); + ], + [returns_nonnull], [ + void *foo( void ) __attribute__(($1)); + ], [unused], [ int foo( void ) __attribute__(($1)); ], @@ -209,7 +228,7 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ dnl GCC doesn't exit with an error if an unknown attribute is dnl provided but only outputs a warning, so accept the attribute dnl only if no warning were issued. - [AS_IF([test -s conftest.err], + [AS_IF([grep -- -Wattributes conftest.err], [AS_VAR_SET([ac_var], [no])], [AS_VAR_SET([ac_var], [yes])])], [AS_VAR_SET([ac_var], [no])]) From e047e937780a975651adb747daf92c3ad03aae63 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 22:00:42 +0100 Subject: [PATCH 164/353] Remove excess arguments to AC_LINK_IFELSE(). --- m4/ax_tls_support.m4 | 3 --- 1 file changed, 3 deletions(-) diff --git a/m4/ax_tls_support.m4 b/m4/ax_tls_support.m4 index 95cdc50bc..5fbfd1fe2 100644 --- a/m4/ax_tls_support.m4 +++ b/m4/ax_tls_support.m4 @@ -30,7 +30,6 @@ AC_CACHE_CHECK([for thread_local], [ac_cv_thread_local], p_s = new S;]])], [ac_cv_thread_local=yes ax_tls_support=yes], - [ac_cv_thread_local=no], [ac_cv_thread_local=no]) ]) AS_IF([test "x$ac_cv_thread_local" = "xyes"], @@ -65,7 +64,6 @@ AC_CACHE_CHECK([for __thread], [ac_cv__thread_keyword], [ ]])], [ac_cv__thread_keyword=yes ax_tls_support=yes], - [ac_cv__thread_keyword=no], [ac_cv__thread_keyword=no]) ]) @@ -99,7 +97,6 @@ And extra please fail. p_s = new S;]])], [ac_cv_declspec_thread=yes ax_tls_support=yes], - [ac_cv_declspec_thread=no], [ac_cv_declspec_thread=no])]) AS_IF([test "x$ac_cv_declspec_thread" = "xyes"], From 21ae06b5eb61578cba912f4c3b4aa370624be49e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 22:03:42 +0100 Subject: [PATCH 165/353] Update ax_type_socklen_t.m4. --- configure | 9 +++------ m4/ax_type_socklen_t.m4 | 22 +++++++++------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/configure b/configure index 1646e6e72..57e45add9 100755 --- a/configure +++ b/configure @@ -13395,17 +13395,14 @@ if test ${ac_cv_ax_type_socklen_t+y} then : printf %s "(cached) " >&6 else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - #include - #include - +#include + #include int main (void) { -socklen_t len = 42; return 0; +socklen_t len = (socklen_t) 42; return (!len); ; return 0; } diff --git a/m4/ax_type_socklen_t.m4 b/m4/ax_type_socklen_t.m4 index de3886b4b..eb4440929 100644 --- a/m4/ax_type_socklen_t.m4 +++ b/m4/ax_type_socklen_t.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_type_socklen_t.html +# https://www.gnu.org/software/autoconf-archive/ax_type_socklen_t.html # =========================================================================== # # SYNOPSIS @@ -27,7 +27,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -42,20 +42,16 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 5 +#serial 8 AU_ALIAS([TYPE_SOCKLEN_T], [AX_TYPE_SOCKLEN_T]) AC_DEFUN([AX_TYPE_SOCKLEN_T], -[AC_CACHE_CHECK([for socklen_t], ac_cv_ax_type_socklen_t, -[ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #include - #include - ]], - [[socklen_t len = 42; return 0;]])], - [ac_cv_ax_type_socklen_t=yes], - [ac_cv_ax_type_socklen_t=no]) +[AC_CACHE_CHECK([for socklen_t], [ac_cv_ax_type_socklen_t], +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include ]], + [[socklen_t len = (socklen_t) 42; return (!len);]])], + [ac_cv_ax_type_socklen_t=yes], + [ac_cv_ax_type_socklen_t=no]) ]) if test $ac_cv_ax_type_socklen_t != yes; then AC_DEFINE(socklen_t, int, [Substitute for socklen_t]) From e171f1e5aeb8899026cef71a0f444ddbd9155bc6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 22:09:49 +0100 Subject: [PATCH 166/353] Add ax_prepend_flag.m4. --- Makefile.in | 1 + acinclude.m4 | 1 + include/Makefile.in | 1 + m4/ax_prepend_flag.m4 | 51 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 m4/ax_prepend_flag.m4 diff --git a/Makefile.in b/Makefile.in index d1aec8b2a..b136e132e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -155,6 +155,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ diff --git a/acinclude.m4 b/acinclude.m4 index ac7d75c12..66f1ea260 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,5 +1,6 @@ m4_include([m4/ax_c_ifdef.m4]) m4_include([m4/ax_append_flag.m4]) +m4_include([m4/ax_prepend_flag.m4]) m4_include([m4/ax_cflags_warn_all.m4]) m4_include([m4/ax_type_socklen_t.m4]) m4_include([m4/ax_compiler_vendor.m4]) diff --git a/include/Makefile.in b/include/Makefile.in index 31b9ec437..6a2713ca0 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ + $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_type_socklen_t.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ diff --git a/m4/ax_prepend_flag.m4 b/m4/ax_prepend_flag.m4 new file mode 100644 index 000000000..adac8c5ac --- /dev/null +++ b/m4/ax_prepend_flag.m4 @@ -0,0 +1,51 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prepend_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PREPEND_FLAG(FLAG, [FLAGS-VARIABLE]) +# +# DESCRIPTION +# +# FLAG is added to the front of the FLAGS-VARIABLE shell variable, with a +# space added in between. +# +# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. +# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains +# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly +# FLAG. +# +# NOTE: Implementation based on AX_APPEND_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# Copyright (c) 2018 John Zaitseff +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_PREPEND_FLAG], +[dnl +AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF +AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) +AS_VAR_SET_IF(FLAGS,[ + AS_CASE([" AS_VAR_GET(FLAGS) "], + [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], + [ + FLAGS="$1 $FLAGS" + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) + ], + [ + AS_VAR_SET(FLAGS,[$1]) + AC_RUN_LOG([: FLAGS="$FLAGS"]) + ]) +AS_VAR_POPDEF([FLAGS])dnl +])dnl AX_PREPEND_FLAG From 269f60e15a63a5194db465bb5837148b8a9d4584 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 22:18:52 +0100 Subject: [PATCH 167/353] Update ax_cflags_warn_all.m4. --- Makefile.in | 1 + acinclude.m4 | 1 + configure | 119 +++++++++++++++++-------- include/Makefile.in | 1 + m4/ax_cflags_warn_all.m4 | 186 +++++++++++++++++++++++---------------- m4/ax_require_defined.m4 | 37 ++++++++ 6 files changed, 232 insertions(+), 113 deletions(-) create mode 100644 m4/ax_require_defined.m4 diff --git a/Makefile.in b/Makefile.in index b136e132e..ef9a0a62e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -154,6 +154,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ diff --git a/acinclude.m4 b/acinclude.m4 index 66f1ea260..7a2eb2773 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,4 +1,5 @@ m4_include([m4/ax_c_ifdef.m4]) +m4_include([m4/ax_require_defined.m4]) m4_include([m4/ax_append_flag.m4]) m4_include([m4/ax_prepend_flag.m4]) m4_include([m4/ax_cflags_warn_all.m4]) diff --git a/configure b/configure index 57e45add9..1c6a0a9da 100755 --- a/configure +++ b/configure @@ -9001,53 +9001,90 @@ then : sun) : ;; #( *) : - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for maximum warnings" >&5 -printf %s "checking CXXFLAGS for maximum warnings... " >&6; } + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for most reasonable warnings" >&5 +printf %s "checking CXXFLAGS for most reasonable warnings... " >&6; } if test ${ac_cv_cxxflags_warn_all+y} then : printf %s "(cached) " >&6 else $as_nop - ac_cv_cxxflags_warn_all="no, unknown" -ac_save_CXXFLAGS=$CXXFLAGS -for ac_arg in "-warn all % -warn all" "-pedantic % -Wall" "-xstrconst % -v" "-std1 % -verbose -w0 -warnprotos" "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" "-ansi -ansiE % -fullwarn" "+ESlit % +w1" "-Xc % -pvctl,fullmsg" "-h conform % -h msglevel 2" # -do CXXFLAGS="$ac_save_CXXFLAGS `printf %s \"$ac_arg\" | $SED -e 's,%%.*,,' -e 's,%,,'`" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO" -then : - ac_cv_cxxflags_warn_all="`printf %s \"$ac_arg\" | $SED -e 's,.*% *,,'`" - break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -done -CXXFLAGS=$ac_save_CXXFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxxflags_warn_all" >&5 -printf "%s\n" "$ac_cv_cxxflags_warn_all" >&6; } -case ".$ac_cv_cxxflags_warn_all" in #( - .ok|.ok,*) : + ac_cv_cxxflags_warn_all="" + ac_save_cxxflags_warn_all_found="yes" + case "$ax_cv_cxx_compiler_vendor" in #( + intel) : + ac_cv_cxxflags_warn_all="-w2" ;; #( + ibm) : + ac_cv_cxxflags_warn_all="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" ;; #( + pathscale) : + ;; #( + clang) : + ac_cv_cxxflags_warn_all="-Wall" ;; #( + cray) : + ac_cv_cxxflags_warn_all="-h msglevel 2" ;; #( + fujitsu) : + ;; #( + sdcc) : ;; #( - .|.no|.no,*) : + sx) : + ac_cv_cxxflags_warn_all="-pvctl,fullmsg" ;; #( + portland) : ;; #( + gnu) : + ac_cv_cxxflags_warn_all="-Wall" ;; #( + sun) : + ac_cv_cxxflags_warn_all="-v" ;; #( + hp) : + ac_cv_cxxflags_warn_all="+w1" ;; #( + dec) : + ac_cv_cxxflags_warn_all="-verbose -w0 -warnprotos" ;; #( + borland) : + ;; #( + comeau) : + ;; #( + kai) : + ;; #( + lcc) : + ;; #( + sgi) : + ac_cv_cxxflags_warn_all="-fullwarn" ;; #( + microsoft) : + ;; #( + metrowerks) : + ;; #( + watcom) : + ;; #( + tcc) : + ;; #( + unknown) : + + ac_cv_cxxflags_warn_all="" + ac_save_cxxflags_warn_all_found="no" + ;; #( *) : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unknown compiler vendor returned by AX_COMPILER_VENDOR" >&5 +printf "%s\n" "$as_me: WARNING: Unknown compiler vendor returned by AX_COMPILER_VENDOR" >&2;} + ac_cv_cxxflags_warn_all="" + ac_save_cxxflags_warn_all_found="no" + + ;; +esac + + if test "x$ac_save_cxxflags_warn_all_found" = "xyes" +then : + if test "x$ac_cv_cxxflags_warn_all" != "x" +then : + if test ${CXXFLAGS+y} then : @@ -9060,7 +9097,7 @@ then : test $ac_status = 0; } ;; #( *) : - as_fn_append CXXFLAGS " $ac_cv_cxxflags_warn_all" + CXXFLAGS="$ac_cv_cxxflags_warn_all $CXXFLAGS" { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 (: CXXFLAGS="$CXXFLAGS") 2>&5 ac_status=$? @@ -9079,10 +9116,18 @@ else $as_nop test $ac_status = 0; } fi - ;; -esac -ac_ext=cpp +fi + +else $as_nop + true + +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxxflags_warn_all" >&5 +printf "%s\n" "$ac_cv_cxxflags_warn_all" >&6; } + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' diff --git a/include/Makefile.in b/include/Makefile.in index 6a2713ca0..af61db56a 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -95,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/ax_c_ifdef.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_append_flag.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ diff --git a/m4/ax_cflags_warn_all.m4 b/m4/ax_cflags_warn_all.m4 index 9e3f69fff..9235a18c7 100644 --- a/m4/ax_cflags_warn_all.m4 +++ b/m4/ax_cflags_warn_all.m4 @@ -1,36 +1,57 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html +# https://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html # =========================================================================== # # SYNOPSIS # -# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] -# AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] -# AX_FCFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] +# AX_CFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] +# AX_CXXFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] +# AX_FCFLAGS_WARN_ALL [(shellvar[, default[, action-if-found[, action-if-not-found]]])] # # DESCRIPTION # -# Try to find a compiler option that enables most reasonable warnings. +# Specify compiler options that enable most reasonable warnings. For the +# GNU Compiler Collection (GCC), for example, it will be "-Wall". The +# result is added to shellvar, one of CFLAGS, CXXFLAGS or FCFLAGS if the +# first parameter is not specified. # -# For the GNU compiler it will be -Wall (and -ansi -pedantic) The result -# is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default. +# Each of these macros accepts the following optional arguments: # -# Currently this macro knows about the GCC, Solaris, Digital Unix, AIX, -# HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and -# Intel compilers. For a given compiler, the Fortran flags are much more -# experimental than their C equivalents. +# - $1 - shellvar +# shell variable to use (CFLAGS, CXXFLAGS or FCFLAGS if not +# specified, depending on macro) # -# - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing +# - $2 - default +# value to use for flags if compiler vendor cannot be determined (by +# default, "") # -# NOTE: These macros depend on AX_APPEND_FLAG. +# - $3 - action-if-found +# action to take if the compiler vendor has been successfully +# determined (by default, add the appropriate compiler flags to +# shellvar) +# +# - $4 - action-if-not-found +# action to take if the compiler vendor has not been determined or +# is unknown (by default, add the default flags, or "" if not +# specified, to shellvar) +# +# These macros use AX_COMPILER_VENDOR to determine which flags should be +# returned for a given compiler. Not all compilers currently have flags +# defined for them; patches are welcome. If need be, compiler flags may +# be made language-dependent: use a construct like the following: +# +# [vendor_name], [m4_if(_AC_LANG_PREFIX,[C], VAR="--relevant-c-flags",dnl +# m4_if(_AC_LANG_PREFIX,[CXX], VAR="--relevant-c++-flags",dnl +# m4_if(_AC_LANG_PREFIX,[FC], VAR="--relevant-fortran-flags",dnl +# VAR="$2"; FOUND="no")))], +# +# Note: These macros also depend on AX_PREPEND_FLAG. # # LICENSE # # Copyright (c) 2008 Guido U. Draheim # Copyright (c) 2010 Rhys Ulerich +# Copyright (c) 2018 John Zaitseff # # 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 @@ -43,7 +64,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -58,67 +79,80 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 14 +#serial 25 + +AC_DEFUN([AX_FLAGS_WARN_ALL], [ + AX_REQUIRE_DEFINED([AX_PREPEND_FLAG])dnl + AC_REQUIRE([AX_COMPILER_VENDOR])dnl + + AS_VAR_PUSHDEF([FLAGS], [m4_default($1,_AC_LANG_PREFIX[]FLAGS)])dnl + AS_VAR_PUSHDEF([VAR], [ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl + AS_VAR_PUSHDEF([FOUND], [ac_save_[]_AC_LANG_ABBREV[]flags_warn_all_found])dnl + + AC_CACHE_CHECK([FLAGS for most reasonable warnings], VAR, [ + VAR="" + FOUND="yes" + dnl Cases are listed in the order found in ax_compiler_vendor.m4 + AS_CASE("$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor", + [intel], [VAR="-w2"], + [ibm], [VAR="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"], + [pathscale], [], + [clang], [VAR="-Wall"], + [cray], [VAR="-h msglevel 2"], + [fujitsu], [], + [sdcc], [], + [sx], [VAR="-pvctl[,]fullmsg"], + [portland], [], + [gnu], [VAR="-Wall"], + [sun], [VAR="-v"], + [hp], [VAR="+w1"], + [dec], [VAR="-verbose -w0 -warnprotos"], + [borland], [], + [comeau], [], + [kai], [], + [lcc], [], + [sgi], [VAR="-fullwarn"], + [microsoft], [], + [metrowerks], [], + [watcom], [], + [tcc], [], + [unknown], [ + VAR="$2" + FOUND="no" + ], + [ + AC_MSG_WARN([Unknown compiler vendor returned by [AX_COMPILER_VENDOR]]) + VAR="$2" + FOUND="no" + ] + ) + + AS_IF([test "x$FOUND" = "xyes"], [dnl + m4_default($3, [AS_IF([test "x$VAR" != "x"], [AX_PREPEND_FLAG([$VAR], [FLAGS])])]) + ], [dnl + m4_default($4, [m4_ifval($2, [AX_PREPEND_FLAG([$VAR], [FLAGS])], [true])]) + ])dnl + ])dnl -AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl -AC_REQUIRE([AC_PROG_SED])dnl -AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], -VAR,[AS_VAR_SET([VAR], ["no, unknown"]) -AS_VAR_COPY([ac_save_[]FLAGS], [FLAGS]) -for ac_arg dnl -in "-warn all % -warn all" dnl Intel - "-pedantic % -Wall" dnl GCC - "-xstrconst % -v" dnl Solaris C - "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix - "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX - "-ansi -ansiE % -fullwarn" dnl IRIX - "+ESlit % +w1" dnl HP-UX C - "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h msglevel 2" dnl Cray C (Unicos) - # -do AS_VAR_SET([FLAGS], - ["$ac_save_[]FLAGS `AS_ECHO_N([\"$ac_arg\"]) | $SED -e 's,%%.*,,' -e 's,%,,'`"]) - AC_LINK_IFELSE([AC_LANG_PROGRAM], - [AS_VAR_SET([VAR], - ["`AS_ECHO_N([\"$ac_arg\"]) | $SED -e 's,.*% *,,'`"]) - break]) -done -AS_VAR_COPY([FLAGS], [ac_save_[]FLAGS]) -]) -AS_VAR_POPDEF([FLAGS])dnl -AS_CASE([".$VAR"], - [.ok|.ok,*], [m4_ifvaln($3,$3)], - [.|.no|.no,*], [m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])])], - [m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])])]) -AS_VAR_POPDEF([VAR])dnl + AS_VAR_POPDEF([FOUND])dnl + AS_VAR_POPDEF([VAR])dnl + AS_VAR_POPDEF([FLAGS])dnl ])dnl AX_FLAGS_WARN_ALL -dnl implementation tactics: -dnl the for-argument contains a list of options. The first part of -dnl these does only exist to detect the compiler - usually it is -dnl a global option to enable -ansi or -extrawarnings. All other -dnl compilers will fail about it. That was needed since a lot of -dnl compilers will give false positives for some option-syntax -dnl like -Woption or -Xoption as they think of it is a pass-through -dnl to later compile stages or something. The "%" is used as a -dnl delimiter. A non-option comment can be given after "%%" marks -dnl which will be shown but not added to the respective C/CXXFLAGS. -AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl -AC_LANG_PUSH([C]) -AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) -AC_LANG_POP([C]) -]) +AC_DEFUN([AX_CFLAGS_WARN_ALL], [dnl + AC_LANG_PUSH([C]) + AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) + AC_LANG_POP([C]) +])dnl -AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl -AC_LANG_PUSH([C++]) -AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) -AC_LANG_POP([C++]) -]) +AC_DEFUN([AX_CXXFLAGS_WARN_ALL], [dnl + AC_LANG_PUSH([C++]) + AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) + AC_LANG_POP([C++]) +])dnl -AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl -AC_LANG_PUSH([Fortran]) -AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) -AC_LANG_POP([Fortran]) -]) +AC_DEFUN([AX_FCFLAGS_WARN_ALL], [dnl + AC_LANG_PUSH([Fortran]) + AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4]) + AC_LANG_POP([Fortran]) +])dnl diff --git a/m4/ax_require_defined.m4 b/m4/ax_require_defined.m4 new file mode 100644 index 000000000..17c3eab7d --- /dev/null +++ b/m4/ax_require_defined.m4 @@ -0,0 +1,37 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_require_defined.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_REQUIRE_DEFINED(MACRO) +# +# DESCRIPTION +# +# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have +# been defined and thus are available for use. This avoids random issues +# where a macro isn't expanded. Instead the configure script emits a +# non-fatal: +# +# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found +# +# It's like AC_REQUIRE except it doesn't expand the required macro. +# +# Here's an example: +# +# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) +# +# LICENSE +# +# Copyright (c) 2014 Mike Frysinger +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_REQUIRE_DEFINED], [dnl + m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) +])dnl AX_REQUIRE_DEFINED From fddaf2721b5c77472e3e9b59b248a8d05505cac6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 17 Feb 2023 22:28:46 +0100 Subject: [PATCH 168/353] Update ax_pkg_swig.m4. --- configure | 12 +++++++----- m4/ax_pkg_swig.m4 | 23 +++++++++++++---------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 1c6a0a9da..f4d28b7d1 100755 --- a/configure +++ b/configure @@ -15386,8 +15386,8 @@ fi if test "x$with_swig" = "xyes" then : - # Ubuntu has swig 2.0 as /usr/bin/swig2.0 - for ac_prog in swig swig2.0 + # Find path to the "swig" executable. + for ac_prog in swig swig3.0 swig2.0 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -15439,7 +15439,9 @@ done if test -z "$SWIG" ; then as_fn_error $? "SWIG is required to build." "$LINENO" 5 - elif test -n "2.0.0" ; then + elif test -z "2.0.0" ; then + : + else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5 printf %s "checking SWIG version... " >&6; } swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'` @@ -15452,12 +15454,12 @@ printf "%s\n" "$swig_version" >&6; } if test -z "$required_major" ; then required_major=0 fi - required=`echo $required | sed 's/[0-9]*[^0-9]//'` + required=`echo $required. | sed 's/[0-9]*[^0-9]//'` required_minor=`echo $required | sed 's/[^0-9].*//'` if test -z "$required_minor" ; then required_minor=0 fi - required=`echo $required | sed 's/[0-9]*[^0-9]//'` + required=`echo $required. | sed 's/[0-9]*[^0-9]//'` required_patch=`echo $required | sed 's/[^0-9].*//'` if test -z "$required_patch" ; then required_patch=0 diff --git a/m4/ax_pkg_swig.m4 b/m4/ax_pkg_swig.m4 index fb4277d85..4d92b0d16 100644 --- a/m4/ax_pkg_swig.m4 +++ b/m4/ax_pkg_swig.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html +# https://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html # =========================================================================== # # SYNOPSIS @@ -32,10 +32,11 @@ # LICENSE # # Copyright (c) 2008 Sebastian Huber -# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Alan W. Irwin # Copyright (c) 2008 Rafael Laboissiere -# Copyright (c) 2008 Andrew Collier +# Copyright (c) 2008 Andrew Collier # Copyright (c) 2011 Murray Cumming +# Copyright (c) 2021 Vincent Danjean # # 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 @@ -48,7 +49,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -63,14 +64,16 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 8 +#serial 14 AC_DEFUN([AX_PKG_SWIG],[ - # Ubuntu has swig 2.0 as /usr/bin/swig2.0 - AC_PATH_PROGS([SWIG],[swig swig2.0]) + # Find path to the "swig" executable. + AC_PATH_PROGS([SWIG],[swig swig3.0 swig2.0]) if test -z "$SWIG" ; then m4_ifval([$3],[$3],[:]) - elif test -n "$1" ; then + elif test -z "$1" ; then + m4_ifval([$2],[$2],[:]) + else AC_MSG_CHECKING([SWIG version]) [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`] AC_MSG_RESULT([$swig_version]) @@ -81,12 +84,12 @@ AC_DEFUN([AX_PKG_SWIG],[ if test -z "$required_major" ; then [required_major=0] fi - [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required=`echo $required. | sed 's/[0-9]*[^0-9]//'`] [required_minor=`echo $required | sed 's/[^0-9].*//'`] if test -z "$required_minor" ; then [required_minor=0] fi - [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required=`echo $required. | sed 's/[0-9]*[^0-9]//'`] [required_patch=`echo $required | sed 's/[^0-9].*//'`] if test -z "$required_patch" ; then [required_patch=0] From 0536b015bfebf6e3c953df35505196b0e21405f1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 22:22:01 +0100 Subject: [PATCH 169/353] Use std::source_location in logging macros. --- include/log4cplus/loggingmacros.h | 36 +++++++++++++++---------------- include/log4cplus/tracelogger.h | 13 ++++++----- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index d8b640811..15cf95e92 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -143,26 +144,15 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #undef LOG4CPLUS_MACRO_FUNCTION #define LOG4CPLUS_MACRO_FUNCTION() nullptr #if ! defined (LOG4CPLUS_DISABLE_FUNCTION_MACRO) -# if defined (LOG4CPLUS_HAVE_FUNCSIG_MACRO) -# undef LOG4CPLUS_MACRO_FUNCTION -# define LOG4CPLUS_MACRO_FUNCTION() __FUNCSIG__ -# elif defined (LOG4CPLUS_HAVE_PRETTY_FUNCTION_MACRO) -# undef LOG4CPLUS_MACRO_FUNCTION -# define LOG4CPLUS_MACRO_FUNCTION() __PRETTY_FUNCTION__ -# elif defined (LOG4CPLUS_HAVE_FUNCTION_MACRO) -# undef LOG4CPLUS_MACRO_FUNCTION -# define LOG4CPLUS_MACRO_FUNCTION() __FUNCTION__ -# elif defined (LOG4CPLUS_HAVE_FUNC_SYMBOL) -# undef LOG4CPLUS_MACRO_FUNCTION -# define LOG4CPLUS_MACRO_FUNCTION() __func__ -# endif +# undef LOG4CPLUS_MACRO_FUNCTION +# define LOG4CPLUS_MACRO_FUNCTION() (_logLocation.function_name ()) #endif #undef LOG4CPLUS_MACRO_FILE #define LOG4CPLUS_MACRO_FILE() nullptr #if ! defined (LOG4CPLUS_DISABLE_FILE_MACRO) # undef LOG4CPLUS_MACRO_FILE -# define LOG4CPLUS_MACRO_FILE() __FILE__ +# define LOG4CPLUS_MACRO_FILE() (_logLocation.file_name ()) #endif @@ -217,9 +207,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \ _log4cplus_buf << logEvent; \ + std::source_location constexpr _logLocation \ + = std::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _log4cplus_buf.str(), \ - LOG4CPLUS_MACRO_FILE (), __LINE__, \ + LOG4CPLUS_MACRO_FILE (), \ + static_cast(_logLocation.line ()), \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ } while (false) \ @@ -233,9 +226,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, = log4cplus::detail::macros_get_logger (logger); \ if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ + std::source_location constexpr _logLocation \ + = std::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, logEvent, \ - LOG4CPLUS_MACRO_FILE (), __LINE__, \ + LOG4CPLUS_MACRO_FILE (), \ + static_cast(_logLocation.line ()), \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ } while (false) \ @@ -251,9 +247,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf); \ log4cplus::tchar const * _logEvent \ = _snpbuf.print (__VA_ARGS__); \ + std::source_location constexpr _logLocation \ + = std::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _logEvent, \ - LOG4CPLUS_MACRO_FILE (), __LINE__, \ + LOG4CPLUS_MACRO_FILE (), \ + static_cast(_logLocation.line ()), \ LOG4CPLUS_MACRO_FUNCTION ()); \ } \ } while (false) \ @@ -268,8 +267,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #if !defined(LOG4CPLUS_DISABLE_TRACE) #define LOG4CPLUS_TRACE_METHOD(logger, logEvent) \ log4cplus::TraceLogger _log4cplus_trace_logger(logger, logEvent, \ - LOG4CPLUS_MACRO_FILE (), __LINE__, \ - LOG4CPLUS_MACRO_FUNCTION ()); + std::source_location::current ()); #define LOG4CPLUS_TRACE(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, TRACE_LOG_LEVEL) #define LOG4CPLUS_TRACE_STR(logger, logEvent) \ diff --git a/include/log4cplus/tracelogger.h b/include/log4cplus/tracelogger.h index 4fdbccee0..29a3a50b6 100644 --- a/include/log4cplus/tracelogger.h +++ b/include/log4cplus/tracelogger.h @@ -31,6 +31,7 @@ #endif #include +#include namespace log4cplus @@ -51,11 +52,9 @@ class TraceLogger { public: TraceLogger(Logger l, log4cplus::tstring _msg, - const char* _file = LOG4CPLUS_CALLER_FILE (), - int _line = LOG4CPLUS_CALLER_LINE (), - char const * _function = LOG4CPLUS_CALLER_FUNCTION ()) - : logger(std::move (l)), msg(std::move (_msg)), file(_file), - function(_function), line(_line) + std::source_location _location = std::source_location::current ()) + : logger(std::move (l)), msg(std::move (_msg)), file(_location.file_name ()), + function(_location.function_name ()), line(static_cast(_location.line ())) { if(logger.isEnabledFor(TRACE_LOG_LEVEL)) logger.forcedLog(TRACE_LOG_LEVEL, LOG4CPLUS_TEXT("ENTER: ") + msg, @@ -70,8 +69,8 @@ class TraceLogger } private: - TraceLogger (TraceLogger const &); - TraceLogger & operator = (TraceLogger const &); + TraceLogger (TraceLogger const &) = delete; + TraceLogger & operator = (TraceLogger const &) = delete; Logger logger; log4cplus::tstring msg; From 756a5709330e767130ed251eca6a721b29eeea34 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 22:38:44 +0100 Subject: [PATCH 170/353] Use ubuntu-22.04 image for Androind builds. --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index e6ae4d4f1..99116e16b 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,7 +13,7 @@ jobs: matrix: target-abi: [armeabi-v7a, arm64-v8a, x86, x86_64] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 From 767f33fe6744c75216cd052684db1525c91fec4d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 22:58:11 +0100 Subject: [PATCH 171/353] std::source_location is not completely supported with Clang. Use std::experimental::source_location instead. --- include/log4cplus/loggingmacros.h | 15 +++++++-------- include/log4cplus/tracelogger.h | 23 +++++++++++++++++++++-- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index 15cf95e92..16e4cdeae 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -207,8 +206,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \ _log4cplus_buf << logEvent; \ - std::source_location constexpr _logLocation \ - = std::source_location::current (); \ + log4cplus::detail::source_location constexpr _logLocation \ + = log4cplus::detail::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _log4cplus_buf.str(), \ LOG4CPLUS_MACRO_FILE (), \ @@ -226,8 +225,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, = log4cplus::detail::macros_get_logger (logger); \ if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ - std::source_location constexpr _logLocation \ - = std::source_location::current (); \ + log4cplus::detail::source_location constexpr _logLocation \ + = log4cplus::detail::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, logEvent, \ LOG4CPLUS_MACRO_FILE (), \ @@ -247,8 +246,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf); \ log4cplus::tchar const * _logEvent \ = _snpbuf.print (__VA_ARGS__); \ - std::source_location constexpr _logLocation \ - = std::source_location::current (); \ + log4cplus::detail::source_location constexpr _logLocation \ + = log4cplus::detail::source_location::current (); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _logEvent, \ LOG4CPLUS_MACRO_FILE (), \ @@ -267,7 +266,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #if !defined(LOG4CPLUS_DISABLE_TRACE) #define LOG4CPLUS_TRACE_METHOD(logger, logEvent) \ log4cplus::TraceLogger _log4cplus_trace_logger(logger, logEvent, \ - std::source_location::current ()); + log4cplus::detail::source_location::current ()); #define LOG4CPLUS_TRACE(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, TRACE_LOG_LEVEL) #define LOG4CPLUS_TRACE_STR(logger, logEvent) \ diff --git a/include/log4cplus/tracelogger.h b/include/log4cplus/tracelogger.h index 29a3a50b6..d20061475 100644 --- a/include/log4cplus/tracelogger.h +++ b/include/log4cplus/tracelogger.h @@ -31,12 +31,30 @@ #endif #include -#include +#if __cpp_lib_source_location >= 201907L +# include +#elif __clang__ +# include +#else +# error std::source_location is not available +#endif namespace log4cplus { +namespace detail +{ + +#if __cpp_lib_source_location >= 201907L +using source_location = std::source_location; +#elif __clang__ +using source_location = std::experimental::source_location; +#else +# error std::source_location is not available +#endif + +} // namespace detail /** * This class is used to produce "Trace" logging. When an instance of @@ -52,7 +70,8 @@ class TraceLogger { public: TraceLogger(Logger l, log4cplus::tstring _msg, - std::source_location _location = std::source_location::current ()) + log4cplus::detail::source_location _location + = log4cplus::detail::source_location::current ()) : logger(std::move (l)), msg(std::move (_msg)), file(_location.file_name ()), function(_location.function_name ()), line(static_cast(_location.line ())) { From 38757fcbca51a1d5c72d8c7f56f3542aa7ab7069 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 23:21:34 +0100 Subject: [PATCH 172/353] Fortify the __cpp_lib_source_location check. --- include/log4cplus/tracelogger.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/log4cplus/tracelogger.h b/include/log4cplus/tracelogger.h index d20061475..05e162002 100644 --- a/include/log4cplus/tracelogger.h +++ b/include/log4cplus/tracelogger.h @@ -31,7 +31,7 @@ #endif #include -#if __cpp_lib_source_location >= 201907L +#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L # include #elif __clang__ # include @@ -46,7 +46,7 @@ namespace log4cplus namespace detail { -#if __cpp_lib_source_location >= 201907L +#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L using source_location = std::source_location; #elif __clang__ using source_location = std::experimental::source_location; From f03d61fcbd599b92fe707639113eaa6545be09dd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 23:21:52 +0100 Subject: [PATCH 173/353] Try CMAKE_CXX_STANDARD=20 in Android build. --- .github/workflows/android.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 99116e16b..4a18e59f8 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -54,6 +54,7 @@ jobs: -DANDROID_TOOLCHAIN=clang \ -DANDROID_ABI=${{ matrix.target-abi }} \ -DANDROID_PLATFORM=21 \ + -DCMAKE_CXX_STANDARD=20 \ -S . \ -B build.d \ From 3301a2746da46e159b50528c494690ee5d7c9897 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 23:31:16 +0100 Subject: [PATCH 174/353] Use __has_include() to check for source_location includes. --- include/log4cplus/tracelogger.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/include/log4cplus/tracelogger.h b/include/log4cplus/tracelogger.h index 05e162002..ded1c76f4 100644 --- a/include/log4cplus/tracelogger.h +++ b/include/log4cplus/tracelogger.h @@ -31,12 +31,11 @@ #endif #include -#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +#if __has_include () # include -#elif __clang__ +#endif +#if __has_include () # include -#else -# error std::source_location is not available #endif @@ -48,7 +47,7 @@ namespace detail #if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L using source_location = std::source_location; -#elif __clang__ +#elif defined (__cpp_lib_experimental_source_location) && __cpp_lib_experimental_source_location >= 201505L using source_location = std::experimental::source_location; #else # error std::source_location is not available From 82364f948ef5672ae9712ad902ebd4e4823836fc Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 18 Feb 2023 23:39:58 +0100 Subject: [PATCH 175/353] Use MSVC 2022 and 2019 for test. --- appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 0dd59cce6..3a7ef3630 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,13 +9,13 @@ install: environment: matrix: - - PRJ_GEN: "Visual Studio 15 2017" - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" - BDIR: msvc2017 + - PRJ_GEN: "Visual Studio 17 2022" + APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" + BDIR: msvc2022 PRJ_CFG: Release - PRJ_GEN: "Visual Studio 16 2019" APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" - BDIR: msvc2017 + BDIR: msvc2019 PRJ_CFG: Release build_script: From 6cb99a8d74f7680a2b8c4e51aa0df114d730c6ee Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 13:49:44 +0100 Subject: [PATCH 176/353] Try with ANDROID_PLATFORM=31. --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 4a18e59f8..a9e3ef47b 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -53,7 +53,7 @@ jobs: -DCMAKE_VERBOSE_MAKEFILE=ON \ -DANDROID_TOOLCHAIN=clang \ -DANDROID_ABI=${{ matrix.target-abi }} \ - -DANDROID_PLATFORM=21 \ + -DANDROID_PLATFORM=31 \ -DCMAKE_CXX_STANDARD=20 \ -S . \ -B build.d \ From edf608a6198724438a11fa894e6b21b7bb5dd513 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 14:00:28 +0100 Subject: [PATCH 177/353] Try ANDROID_STL=c++_static . --- .github/workflows/android.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index a9e3ef47b..62f312128 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -54,6 +54,7 @@ jobs: -DANDROID_TOOLCHAIN=clang \ -DANDROID_ABI=${{ matrix.target-abi }} \ -DANDROID_PLATFORM=31 \ + -DANDROID_STL=c++_static \ -DCMAKE_CXX_STANDARD=20 \ -S . \ -B build.d \ From f91e6c5150205d8335659bb64c26d66ce8361b42 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 19:44:26 +0100 Subject: [PATCH 178/353] Create SourceLocation as compatibility layer. --- include/log4cplus/helpers/source_location.h | 95 +++++++++++++++++++++ include/log4cplus/loggingmacros.h | 60 ++++++++----- include/log4cplus/tracelogger.h | 43 +++++----- src/CMakeLists.txt | 1 + 4 files changed, 156 insertions(+), 43 deletions(-) create mode 100644 include/log4cplus/helpers/source_location.h diff --git a/include/log4cplus/helpers/source_location.h b/include/log4cplus/helpers/source_location.h new file mode 100644 index 000000000..3b2279aac --- /dev/null +++ b/include/log4cplus/helpers/source_location.h @@ -0,0 +1,95 @@ +#ifndef LOG4CPLUS_HELPERS_SOURCE_LOCATION_ +#define LOG4CPLUS_HELPERS_SOURCE_LOCATION_ + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#if __has_include () +# include +#endif + + +namespace log4cplus +{ + +namespace helpers +{ + +/** + * @brief This is a portable equivalent of std::source_location. + * + */ +class SourceLocation +{ +public: + constexpr SourceLocation (const char* _file = LOG4CPLUS_CALLER_FILE (), + int _line = LOG4CPLUS_CALLER_LINE (), + char const * _function = LOG4CPLUS_CALLER_FUNCTION ()) noexcept + : file_ (_file) + , function_ (_function) + , line_ (_line) + { } + +#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L + static consteval SourceLocation current ( + std::source_location _loc = std::source_location::current ()) noexcept; +#else + static consteval SourceLocation current ( + const char* _file = LOG4CPLUS_CALLER_FILE (), + int _line = LOG4CPLUS_CALLER_LINE (), + char const * _function = LOG4CPLUS_CALLER_FUNCTION ()) noexcept; +#endif + + SourceLocation (SourceLocation const &) = default; + SourceLocation (SourceLocation &&) noexcept = default; + + char const * + file_name () const noexcept + { + return file_; + } + + char const * + function_name () const noexcept + { + return function_; + } + + int + line () const noexcept + { + return line_; + } + +private: + char const * file_; + char const * function_; + int line_; +}; + +#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +consteval SourceLocation +SourceLocation::current (std::source_location loc) noexcept +{ + return SourceLocation {loc.file_name (), loc.line (), loc.function_name ()}; +} + +#else // #if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +consteval SourceLocation +SourceLocation::current (const char* _file, int _line, + char const * _function) noexcept +{ + return SourceLocation {_file, _line, _function}; +} + +#endif // #if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L + +} // namespace helpers + +} // namespace log4cplus + + +#endif // LOG4CPLUS_HELPERS_SOURCE_LOCATION_ diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index 16e4cdeae..95fdd9a53 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -143,17 +143,42 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #undef LOG4CPLUS_MACRO_FUNCTION #define LOG4CPLUS_MACRO_FUNCTION() nullptr #if ! defined (LOG4CPLUS_DISABLE_FUNCTION_MACRO) -# undef LOG4CPLUS_MACRO_FUNCTION -# define LOG4CPLUS_MACRO_FUNCTION() (_logLocation.function_name ()) +# if defined (LOG4CPLUS_HAVE_FUNCSIG_MACRO) +# undef LOG4CPLUS_MACRO_FUNCTION +# define LOG4CPLUS_MACRO_FUNCTION() __FUNCSIG__ +# elif defined (LOG4CPLUS_HAVE_PRETTY_FUNCTION_MACRO) +# undef LOG4CPLUS_MACRO_FUNCTION +# define LOG4CPLUS_MACRO_FUNCTION() __PRETTY_FUNCTION__ +# elif defined (LOG4CPLUS_HAVE_FUNCTION_MACRO) +# undef LOG4CPLUS_MACRO_FUNCTION +# define LOG4CPLUS_MACRO_FUNCTION() __FUNCTION__ +# elif defined (LOG4CPLUS_HAVE_FUNC_SYMBOL) +# undef LOG4CPLUS_MACRO_FUNCTION +# define LOG4CPLUS_MACRO_FUNCTION() __func__ +# endif #endif #undef LOG4CPLUS_MACRO_FILE #define LOG4CPLUS_MACRO_FILE() nullptr #if ! defined (LOG4CPLUS_DISABLE_FILE_MACRO) # undef LOG4CPLUS_MACRO_FILE -# define LOG4CPLUS_MACRO_FILE() (_logLocation.file_name ()) +# define LOG4CPLUS_MACRO_FILE() __FILE__ #endif +#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +# define LOG4CPLUS_MACRO_LOG_LOCATION_VALUE() \ + log4cplus::helpers::SourceLocation::current () +#else // defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +# define LOG4CPLUS_MACRO_LOG_LOCATION_VALUE() \ + log4cplus::helpers::SourceLocation { LOG4CPLUS_MACRO_FILE (), \ + __LINE__, \ + LOG4CPLUS_MACRO_FUNCTION () } +#endif // defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L + +#define LOG4CPLUS_MACRO_LOG_LOCATION(logLocation) \ + log4cplus::helpers::SourceLocation constexpr logLocation \ + { LOG4CPLUS_MACRO_LOG_LOCATION_VALUE() } + // Make TRACE and DEBUG log level unlikely and INFO, WARN, ERROR and // FATAL log level likely. @@ -206,13 +231,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \ _log4cplus_buf << logEvent; \ - log4cplus::detail::source_location constexpr _logLocation \ - = log4cplus::detail::source_location::current (); \ + LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _log4cplus_buf.str(), \ - LOG4CPLUS_MACRO_FILE (), \ - static_cast(_logLocation.line ()), \ - LOG4CPLUS_MACRO_FUNCTION ()); \ + _logLocation.file_name (), \ + _logLocation.line (), \ + _logLocation.function_name ()); \ } \ } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() @@ -225,13 +249,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, = log4cplus::detail::macros_get_logger (logger); \ if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ - log4cplus::detail::source_location constexpr _logLocation \ - = log4cplus::detail::source_location::current (); \ + LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, logEvent, \ - LOG4CPLUS_MACRO_FILE (), \ - static_cast(_logLocation.line ()), \ - LOG4CPLUS_MACRO_FUNCTION ()); \ + _logLocation.file_name (), \ + _logLocation.line (), \ + _logLocation.function_name ()); \ } \ } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() @@ -246,13 +269,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf); \ log4cplus::tchar const * _logEvent \ = _snpbuf.print (__VA_ARGS__); \ - log4cplus::detail::source_location constexpr _logLocation \ - = log4cplus::detail::source_location::current (); \ + LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, _logEvent, \ - LOG4CPLUS_MACRO_FILE (), \ - static_cast(_logLocation.line ()), \ - LOG4CPLUS_MACRO_FUNCTION ()); \ + _logLocation.file_name (), \ + _logLocation.line (), \ + _logLocation.function_name ()); \ } \ } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() @@ -266,7 +288,7 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #if !defined(LOG4CPLUS_DISABLE_TRACE) #define LOG4CPLUS_TRACE_METHOD(logger, logEvent) \ log4cplus::TraceLogger _log4cplus_trace_logger(logger, logEvent, \ - log4cplus::detail::source_location::current ()); + LOG4CPLUS_MACRO_LOG_LOCATION_VALUE ()); #define LOG4CPLUS_TRACE(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, TRACE_LOG_LEVEL) #define LOG4CPLUS_TRACE_STR(logger, logEvent) \ diff --git a/include/log4cplus/tracelogger.h b/include/log4cplus/tracelogger.h index ded1c76f4..42867cc67 100644 --- a/include/log4cplus/tracelogger.h +++ b/include/log4cplus/tracelogger.h @@ -31,29 +31,12 @@ #endif #include -#if __has_include () -# include -#endif -#if __has_include () -# include -#endif +#include namespace log4cplus { -namespace detail -{ - -#if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L -using source_location = std::source_location; -#elif defined (__cpp_lib_experimental_source_location) && __cpp_lib_experimental_source_location >= 201505L -using source_location = std::experimental::source_location; -#else -# error std::source_location is not available -#endif - -} // namespace detail /** * This class is used to produce "Trace" logging. When an instance of @@ -69,27 +52,39 @@ class TraceLogger { public: TraceLogger(Logger l, log4cplus::tstring _msg, - log4cplus::detail::source_location _location - = log4cplus::detail::source_location::current ()) + log4cplus::helpers::SourceLocation _location + = log4cplus::helpers::SourceLocation::current ()) : logger(std::move (l)), msg(std::move (_msg)), file(_location.file_name ()), - function(_location.function_name ()), line(static_cast(_location.line ())) + function(_location.function_name ()), line(_location.line ()) + { + if (logger.isEnabledFor(TRACE_LOG_LEVEL)) + logger.forcedLog(TRACE_LOG_LEVEL, LOG4CPLUS_TEXT("ENTER: ") + msg, + file, line, function); + } + + TraceLogger(Logger l, log4cplus::tstring _msg, + const char* _file, int _line, char const * _function) + : logger(std::move (l)), msg(std::move (_msg)), file(_file), + function(_function), line(_line) { - if(logger.isEnabledFor(TRACE_LOG_LEVEL)) + if (logger.isEnabledFor(TRACE_LOG_LEVEL)) logger.forcedLog(TRACE_LOG_LEVEL, LOG4CPLUS_TEXT("ENTER: ") + msg, file, line, function); } ~TraceLogger() { - if(logger.isEnabledFor(TRACE_LOG_LEVEL)) + if (logger.isEnabledFor(TRACE_LOG_LEVEL)) logger.forcedLog(TRACE_LOG_LEVEL, LOG4CPLUS_TEXT("EXIT: ") + msg, file, line, function); } -private: TraceLogger (TraceLogger const &) = delete; + TraceLogger (TraceLogger &&) = delete; TraceLogger & operator = (TraceLogger const &) = delete; + TraceLogger & operator = (TraceLogger &&) = delete; +private: Logger logger; log4cplus::tstring msg; const char* file; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0ecff3aef..adcf98ca9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -233,6 +233,7 @@ install(FILES ../include/log4cplus/helpers/appenderattachableimpl.h ../include/log4cplus/helpers/snprintf.h ../include/log4cplus/helpers/socket.h ../include/log4cplus/helpers/socketbuffer.h + ../include/log4cplus/helpers/source_location.h ../include/log4cplus/helpers/stringhelper.h ../include/log4cplus/helpers/thread-config.h ../include/log4cplus/helpers/timehelper.h From 9d8e61e6322e5a75c6e09e5350c14432e35e3485 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 19:49:31 +0100 Subject: [PATCH 179/353] Fix narrowing conversion warning in SourceLocation::current(). --- include/log4cplus/helpers/source_location.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/helpers/source_location.h b/include/log4cplus/helpers/source_location.h index 3b2279aac..1a67e225d 100644 --- a/include/log4cplus/helpers/source_location.h +++ b/include/log4cplus/helpers/source_location.h @@ -74,7 +74,8 @@ class SourceLocation consteval SourceLocation SourceLocation::current (std::source_location loc) noexcept { - return SourceLocation {loc.file_name (), loc.line (), loc.function_name ()}; + return SourceLocation { + loc.file_name (), static_cast(loc.line ()), loc.function_name ()}; } #else // #if defined (__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L From 414c116f062a85530ba81c87ad0a51ee2bd41042 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 20:02:01 +0100 Subject: [PATCH 180/353] Fix char/tchar confusion in output_xml_escaped(). --- src/log4judpappender.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/log4judpappender.cxx b/src/log4judpappender.cxx index e5e7402fa..d30382ffe 100644 --- a/src/log4judpappender.cxx +++ b/src/log4judpappender.cxx @@ -59,7 +59,7 @@ static void output_xml_escaped (tostream & os, tstring const & str) { - for (char ch : str) + for (tchar ch : str) { switch (ch) { From faf9d68bb514558aa937e8cadab866a695a3f119 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 20:18:55 +0100 Subject: [PATCH 181/353] Add test case for LOG4CPLUS_MACRO_LOG_LOCATION(). --- src/loggingmacros.cxx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/loggingmacros.cxx b/src/loggingmacros.cxx index 006ae365f..164308823 100644 --- a/src/loggingmacros.cxx +++ b/src/loggingmacros.cxx @@ -24,6 +24,10 @@ #include #include +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include +#endif + namespace log4cplus::detail { @@ -97,4 +101,19 @@ macro_forced_log (log4cplus::Logger const & logger, } +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +CATCH_TEST_CASE ("Macros", "[macros]") +{ + CATCH_SECTION ("LOG4CPLUS_MACRO_LOG_LOCATION") + { + char const * file = __FILE__; + // The following variables all have to be on the same line! + int const line = __LINE__; LOG4CPLUS_MACRO_LOG_LOCATION (loc); + CATCH_REQUIRE_THAT (loc.file_name (), Catch::Matchers::Equals (file)); + CATCH_REQUIRE (loc.line () == line); + } +} // CATCH_TEST_CASE + +#endif // defined (LOG4CPLUS_WITH_UNIT_TESTS) + } // namespace log4cplus::detail From d9fc2b36a679839de3d48e346970320093879bca Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 19 Feb 2023 20:47:25 +0100 Subject: [PATCH 182/353] Regenerate Makefile.am for source_location.h. --- include/Makefile.am | 1 + include/Makefile.in | 1 + 2 files changed, 2 insertions(+) diff --git a/include/Makefile.am b/include/Makefile.am index 4160c4c59..1ac71be6b 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -30,6 +30,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/helpers/snprintf.h \ log4cplus/helpers/socket.h \ log4cplus/helpers/socketbuffer.h \ + log4cplus/helpers/source_location.h \ log4cplus/helpers/stringhelper.h \ log4cplus/helpers/thread-config.h \ log4cplus/helpers/timehelper.h \ diff --git a/include/Makefile.in b/include/Makefile.in index af61db56a..ea4bac117 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -390,6 +390,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/helpers/snprintf.h \ log4cplus/helpers/socket.h \ log4cplus/helpers/socketbuffer.h \ + log4cplus/helpers/source_location.h \ log4cplus/helpers/stringhelper.h \ log4cplus/helpers/thread-config.h \ log4cplus/helpers/timehelper.h \ From 76ea643a83dd37a62ac09113cd0073895797d3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Tue, 28 Feb 2023 19:54:47 +0100 Subject: [PATCH 183/353] We require C++20 in 3.x. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9a6a8e3f7..0db84dc34 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ from log4net, log4cxx, log4cpp). Platform support ================ -[log4cplus] version 3.0 and beyond require C++17. [log4cplus] has been +[log4cplus] version 3.0 and beyond require C++20. [log4cplus] has been ported to and tested on the following platforms: - Linux/AMD64 with GCC version 8.3.0 (Ubuntu 8.3.0-6ubuntu1) @@ -59,7 +59,7 @@ on Linux platform offered by [Travis CI][11] service. The oldest Windows version that is supported by 2.x releases is Windows Vista. The following platforms were supported by the 1.x series of [log4cplus]. They -either do not have a reasonable C++17 capable compiler or have not been checked +either do not have a reasonable C++20 capable compiler or have not been checked with [log4cplus] 3.x, yet: - Minix 3.3.0/i386 with Clang version 3.4 (branches/release_34) with From 5cabdd058c49e7ba9543f96895fb3bde7ab4bcc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Tue, 28 Feb 2023 19:55:36 +0100 Subject: [PATCH 184/353] We require C++20 in 3.x. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0db84dc34..b89aaaad0 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Short Description ================= -[log4cplus] is a simple to use C++17 logging API providing thread--safe, +[log4cplus] is a simple to use C++20 logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration. It is modeled after the Java log4j API. @@ -635,7 +635,7 @@ Unsupported compilers and platforms [log4cplus] does not support too old or broken C++ compilers. Since [log4cplus] version 3.0.0, it means it does not support any platform or compiler without -decent C++17 support. +decent C++20 support. - Visual Studio prior to 2015 - GCC prior to 4.8 From 606898abccb3be4415a8b7d4e4d58a0789862c20 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 28 Feb 2023 21:25:17 +0100 Subject: [PATCH 185/353] Update various links and text in README.md. --- README.md | 48 +++++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 9a6a8e3f7..ebc86da39 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,18 @@ Short Description flexible, and arbitrarily granular control over log management and configuration. It is modeled after the Java log4j API. -[log4cplus]: https://sourceforge.net/projects/log4cplus/ +[log4cplus]: https://github.com/log4cplus/log4cplus Latest Project Information ========================== -The latest up-to-date information for this project can be found at -[log4cplus] SourceForge project pages or [log4cplus wiki][4] on -SourceForge. Please submit bugs, patches, feature requests, etc., +The latest up-to-date information for this project can be found +on [GitHub][13] project page or [log4cplus wiki][4] there. +Please submit bugs, patches, feature requests, etc., there, or on [GitHub][13]. -[4]: https://sourceforge.net/p/log4cplus/wiki/Home/ +[4]: https://github.com/log4cplus/log4cplus/wiki [13]: https://github.com/log4cplus/log4cplus @@ -349,7 +349,7 @@ To allow using the best available method, [log4cplus] enables the method (2) by checking `_WIN32_WINNT >= 0x0600` condition, when compiling [log4cplus] targeted to Windows Vista or later. -[tlsvista]: http://support.microsoft.com/kb/118816/en-us +[tlsvista]: https://learn.microsoft.com/en-us/cpp/parallel/thread-local-storage-tls?view=msvc-170 Linking on Windows @@ -398,7 +398,7 @@ variants that support threading using the `CXX` variable on $ ../configure --enable-threads CXX=xlC_r -[1]: http://www.ibm.com/support/knowledgecenter/en/SSGH3R_12.1.0/com.ibm.xlcpp121.aix.doc/compiler_ref/tucmpinv.html +[1]: https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.0?topic=applications-invoking-compiler AIX reentrancy problem @@ -418,7 +418,7 @@ derived from `std::streambuf` class. [log4cplus] itself uses `std::ostringstream`. This resulted into an attempt to recursively lock the global non recursive lock and a deadlock. -[2]: http://sourceforge.net/p/log4cplus/bugs/103/ +[2]: https://sourceforge.net/p/log4cplus/bugs/103/ Solaris / SunOS @@ -428,7 +428,7 @@ Some older version of this operating system might have problems linking [log4cplus] due to [missing `__tls_get_addr`][3] in their unpatched state. -[3]: https://groups.google.com/d/msg/comp.unix.solaris/AAMqkK0QZ6U/zlkVKA1L_QcJ +[3]: https://groups.google.com/g/comp.unix.solaris/c/AAMqkK0QZ6U/m/zlkVKA1L_QcJ Solaris Studio @@ -497,7 +497,7 @@ line: $ ../configure --disable-symbols-visibility-options \ --enable-threads=yes CXXFLAGS="-AA" -[9]: http://h30499.www3.hp.com/t5/Languages-and-Scripting/Building-Log4cplus-fails-with-quot-ld-Unsatisfied-symbol-virtual/td-p/6261411#.UoHtgPmet8G +[9]: https://community.hpe.com/t5/languages-and-scripting/building-log4cplus-fails-with-quot-ld-unsatisfied-symbol-virtual/m-p/6262849#.Y_5ho4DMImM Haiku @@ -512,7 +512,7 @@ avoid linking errors like this: Running the command switches the _current_ GCC version to version 4. This change is permanent and global. See also Haiku ticket -[#8368](http://dev.haiku-os.org/ticket/8368). +[#8368](https://dev.haiku-os.org/ticket/8368). Qt4 / Win32 / MSVC @@ -679,34 +679,24 @@ License ======= This library is licensed under the Apache Public License 2.0 and two -clause BSD license. Please read the included LICENSE file for +clause BSD license. Please read the included [LICENSE](./LICENSE) file for details. Contributions ============= -[log4cplus] (bug tracker, files, wiki) is hosted on SourceForge, -except for [log4cplus source][5], which is hosted on GitHub. This -allows the project to integrate with [Travis CI][11] service offered -by GitHub. - -[5]: https://sourceforge.net/p/log4cplus/source-code-link/ -[11]: https://sourceforge.net/p/log4cplus/travis-ci/ +[log4cplus] (bug tracker, files, wiki) is hosted on GitHub. +See also [Contributions](https://github.com/log4cplus/log4cplus/wiki/Development#contributions) +topic on wiki. Patches ------- -Anybody can contribute to log4cplus development. If you are -contributing a source code change, use a reasonable form: a merge -request of a Git branch or a patch file attached to a ticket in -[Bugs tracker][6] or sent to [log4cplus-devel mailing list][7]. Unless -it is obvious, always state what branch or release tarball is your -patch based upon. - -[6]: https://sourceforge.net/p/log4cplus/bugs/ -[7]: mailto:log4cplus-devel@lists.sourceforge.net +Anybody can contribute to log4cplus development. +If you are contributing a source code change, use a reasonable +form: a merge request of a Git branch. Formatting @@ -764,4 +754,4 @@ the correct order. and its master branch files are always generated using the latest available version of the tools. -[12]: http://www.gnu.org/software/autogen/ +[12]: https://www.gnu.org/software/autogen/ From 2750e4fe0e9564366f269e63a78d6ae66c0b71c3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 28 Feb 2023 21:31:21 +0100 Subject: [PATCH 186/353] More fixes to README.md. --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 82c4fe684..ca7a2cfc3 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Latest Project Information The latest up-to-date information for this project can be found on [GitHub][13] project page or [log4cplus wiki][4] there. Please submit bugs, patches, feature requests, etc., -there, or on [GitHub][13]. +on [GitHub][13]. [4]: https://github.com/log4cplus/log4cplus/wiki [13]: https://github.com/log4cplus/log4cplus @@ -458,7 +458,7 @@ The autotools and our `configure.ac` combo does not handle Solaris Studio compiler on Linux well enough and needs a little help with configuration of POSIX threads: -~~~~{.bash} +```sh $ COMMON_FLAGS="-L/lib/x86_64-linux-gnu/ \ -L/usr/lib/x86_64-linux-gnu/ -mt=yes -O" @@ -468,7 +468,7 @@ CXX=/opt/solarisstudio12.3/bin/CC \ CFLAGS="$COMMON_FLAGS" \ CXXFLAGS="$COMMON_FLAGS" \ LDFLAGS="-lpthread" -~~~~ +``` HP-UX with `aCC` @@ -706,7 +706,7 @@ Please use common sense. Follow the style of surrounding code. You can use the following Emacs style that is based on Microsoft's style as a guide line: -~~~~{.commonlisp} +```lisp ;; Custom MS like indentation style. (c-add-style "microsoft" '("stroustrup" @@ -716,7 +716,7 @@ guide line: (inher-cont . c-lineup-multi-inher) (arglist-cont-nonempty . +) (template-args-cont . +)))) -~~~~ +``` Tools From d9521ad97ba781b8b97f5aa29b0f4476074db866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Tue, 28 Feb 2023 22:47:51 +0100 Subject: [PATCH 187/353] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..c75caee60 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,18 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +Describe your problem here. + +Also, provide the following information: + + - version: *version of log4cplus that manifest your problem* + - operating system, CPU, bitness: *what are your environement's OS, CPU's, and platform's characteristics* + - `configure` script, or CMake, etc., flags and settings: *what setting have you used to compile log4cplus outside of defaults* + - flags and settings used by your application: *what are the settings and comipler flags used by your application, are they compatible with those used for log4cplus compilation* + - compiler and its version: *what compiler and what versions are you using to compile log4cplus and your application* From c8ecad5aa9b60ad25e6ead0597f655e7e245d10b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 28 Feb 2023 22:50:48 +0100 Subject: [PATCH 188/353] Remove old issue template. --- .github/issue_template.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 .github/issue_template.md diff --git a/.github/issue_template.md b/.github/issue_template.md deleted file mode 100644 index 4ecf16278..000000000 --- a/.github/issue_template.md +++ /dev/null @@ -1,9 +0,0 @@ -Describe your problem here. - -Also, provide the following information: - - - version: *version of log4cplus that manifest your problem* - - operating system, CPU, bitness: *what are your environement's OS, CPU's, and platform's characteristics* - - `configure` script, or CMake, etc., flags and settings: *what setting have you used to compile log4cplus outside of defaults* - - flags and settings used by your application: *what are the settings and comipler flags used by your application, are they compatible with those used for log4cplus compilation* - - compiler and its version: *what compiler and what versions are you using to compile log4cplus and your application* From 613b86a61c6285866121fd1453ebd2321478313a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 20:38:29 +0100 Subject: [PATCH 189/353] Mark log level name strings constinit. --- src/loglevel.cxx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/loglevel.cxx b/src/loglevel.cxx index 83ad7b8cb..b36702c82 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -40,16 +40,16 @@ LogLevelTranslator::~LogLevelTranslator () = default; namespace { -static tstring const ALL_STRING (LOG4CPLUS_TEXT("ALL")); -static tstring const TRACE_STRING (LOG4CPLUS_TEXT("TRACE")); -static tstring const DEBUG_STRING (LOG4CPLUS_TEXT("DEBUG")); -static tstring const INFO_STRING (LOG4CPLUS_TEXT("INFO")); -static tstring const WARN_STRING (LOG4CPLUS_TEXT("WARN")); -static tstring const ERROR_STRING (LOG4CPLUS_TEXT("ERROR")); -static tstring const FATAL_STRING (LOG4CPLUS_TEXT("FATAL")); -static tstring const OFF_STRING (LOG4CPLUS_TEXT("OFF")); -static tstring const NOTSET_STRING (LOG4CPLUS_TEXT("NOTSET")); -static tstring const UNKNOWN_STRING (LOG4CPLUS_TEXT("UNKNOWN")); +static constinit tstring const ALL_STRING (LOG4CPLUS_TEXT("ALL")); +static constinit tstring const TRACE_STRING (LOG4CPLUS_TEXT("TRACE")); +static constinit tstring const DEBUG_STRING (LOG4CPLUS_TEXT("DEBUG")); +static constinit tstring const INFO_STRING (LOG4CPLUS_TEXT("INFO")); +static constinit tstring const WARN_STRING (LOG4CPLUS_TEXT("WARN")); +static constinit tstring const ERROR_STRING (LOG4CPLUS_TEXT("ERROR")); +static constinit tstring const FATAL_STRING (LOG4CPLUS_TEXT("FATAL")); +static constinit tstring const OFF_STRING (LOG4CPLUS_TEXT("OFF")); +static constinit tstring const NOTSET_STRING (LOG4CPLUS_TEXT("NOTSET")); +static constinit tstring const UNKNOWN_STRING (LOG4CPLUS_TEXT("UNKNOWN")); class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator From 700f0e5feab098849b7d9ea9daec03182c04eb73 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:14:25 +0100 Subject: [PATCH 190/353] Remove deprecated ctor from InternalLoggingEvent. --- include/log4cplus/spi/loggingevent.h | 10 ---------- src/loggingevent.cxx | 29 ---------------------------- 2 files changed, 39 deletions(-) diff --git a/include/log4cplus/spi/loggingevent.h b/include/log4cplus/spi/loggingevent.h index 7357dc4ec..090861ca7 100644 --- a/include/log4cplus/spi/loggingevent.h +++ b/include/log4cplus/spi/loggingevent.h @@ -67,16 +67,6 @@ namespace log4cplus { LogLevel loglevel, const log4cplus::tstring_view& message, const char* filename, int line, const char * function = nullptr); - InternalLoggingEvent(const log4cplus::tstring_view& logger, - LogLevel loglevel, const log4cplus::tstring_view& ndc, - MappedDiagnosticContextMap const & mdc, - const log4cplus::tstring_view& message, - const log4cplus::tstring_view& thread, - log4cplus::helpers::Time time, - const log4cplus::tstring_view& file, - int line, const log4cplus::tstring_view & function - = log4cplus::tstring_view ()) LOG4CPLUS_ATTRIBUTE_DEPRECATED; - InternalLoggingEvent(const log4cplus::tstring_view& logger, LogLevel loglevel, const log4cplus::tstring_view& ndc, MappedDiagnosticContextMap const & mdc, diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 09386243c..96ce6de7b 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -56,35 +56,6 @@ InternalLoggingEvent::InternalLoggingEvent( } -InternalLoggingEvent::InternalLoggingEvent( - const log4cplus::tstring_view& logger, - LogLevel loglevel, const log4cplus::tstring_view& ndc_, - MappedDiagnosticContextMap const & mdc_, - const log4cplus::tstring_view& message_, - const log4cplus::tstring_view& thread_, - log4cplus::helpers::Time time, - const log4cplus::tstring_view& file_, int line_, - const log4cplus::tstring_view& function_) - : message(message_) - , loggerName(logger) - , ll(loglevel) - , ndc(ndc_) - , mdc(mdc_) - , thread(thread_) - , timestamp(time) - , file(file_) - , function (function_.data () - ? function_ - : log4cplus::tstring()) - , line(line_) - , threadCached(true) - , thread2Cached(true) - , ndcCached(true) - , mdcCached(true) -{ -} - - InternalLoggingEvent::InternalLoggingEvent( const log4cplus::tstring_view& logger, LogLevel loglevel, const log4cplus::tstring_view& ndc_, From b46b9b5e138ec4f0616db68d30326daa1ce3618f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:15:56 +0100 Subject: [PATCH 191/353] Use deleted ctors and assignment operators in AppenderAttachableImpl. --- .../helpers/appenderattachableimpl.h | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/include/log4cplus/helpers/appenderattachableimpl.h b/include/log4cplus/helpers/appenderattachableimpl.h index 52ed09661..ee3903b6a 100644 --- a/include/log4cplus/helpers/appenderattachableimpl.h +++ b/include/log4cplus/helpers/appenderattachableimpl.h @@ -41,11 +41,11 @@ namespace log4cplus { namespace helpers { - + /** * This Interface is for attaching Appenders to objects. */ - class LOG4CPLUS_EXPORT AppenderAttachableImpl + class LOG4CPLUS_EXPORT AppenderAttachableImpl : public log4cplus::spi::AppenderAttachable { public: @@ -58,6 +58,13 @@ namespace log4cplus { // Dtor virtual ~AppenderAttachableImpl(); + // Operators + AppenderAttachableImpl(AppenderAttachableImpl const &) = delete; + AppenderAttachableImpl(AppenderAttachableImpl &&) = delete; + AppenderAttachableImpl & operator = (AppenderAttachableImpl const &) = delete; + AppenderAttachableImpl & operator = (AppenderAttachableImpl &&) = delete; + + // Methods /** * Add an appender. If the appender is already in the list in @@ -74,7 +81,7 @@ namespace log4cplus { * Look for an attached appender named as name. * * Return the appender with that name if in the list. Return null - * otherwise. + * otherwise. */ virtual SharedAppenderPtr getAppender(const log4cplus::tstring& name); @@ -90,12 +97,12 @@ namespace log4cplus { /** * Remove the appender with the name passed as parameter from the - * list of appenders. + * list of appenders. */ virtual void removeAppender(const log4cplus::tstring& name); /** - * Call the doAppend method on all attached appenders. + * Call the doAppend method on all attached appenders. */ int appendLoopOnAppenders(const spi::InternalLoggingEvent& event) const; @@ -106,10 +113,6 @@ namespace log4cplus { // Data /** Array of appenders. */ ListType appenderList; - - private: - AppenderAttachableImpl(AppenderAttachableImpl const &); - AppenderAttachableImpl & operator = (AppenderAttachableImpl const &); }; // end class AppenderAttachableImpl } // end namespace helpers From bea19914a8ea7b0412648292454025138f4f73f5 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:16:18 +0100 Subject: [PATCH 192/353] Use deleted ctors and assignment operators in LoggerImpl. --- include/log4cplus/spi/loggerimpl.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/log4cplus/spi/loggerimpl.h b/include/log4cplus/spi/loggerimpl.h index 359b15e5e..dc226c7f4 100644 --- a/include/log4cplus/spi/loggerimpl.h +++ b/include/log4cplus/spi/loggerimpl.h @@ -152,6 +152,11 @@ namespace log4cplus { */ LoggerImpl(const log4cplus::tstring_view& name, Hierarchy& h); + LoggerImpl(const LoggerImpl&) = delete; + LoggerImpl& operator=(const LoggerImpl&) = delete; + + LoggerImpl(LoggerImpl&&) = delete; + LoggerImpl& operator=(LoggerImpl&&) = delete; // Methods /** @@ -198,10 +203,6 @@ namespace log4cplus { /** Loggers need to know what Hierarchy they are in. */ Hierarchy& hierarchy; - // Disallow copying of instances of this class - LoggerImpl(const LoggerImpl&) = delete; - LoggerImpl& operator=(const LoggerImpl&) = delete; - // Friends friend class log4cplus::Logger; friend class log4cplus::DefaultLoggerFactory; From a4f8a677e32be7298295010aa4ab59a9f4e64110 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:16:45 +0100 Subject: [PATCH 193/353] Use deleted ctors and assignment operators in Queue. --- include/log4cplus/helpers/queue.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/log4cplus/helpers/queue.h b/include/log4cplus/helpers/queue.h index 113d69514..a9507dce3 100644 --- a/include/log4cplus/helpers/queue.h +++ b/include/log4cplus/helpers/queue.h @@ -56,6 +56,12 @@ class LOG4CPLUS_EXPORT Queue explicit Queue (unsigned len = 100); virtual ~Queue (); + Queue (Queue const &) = delete; + Queue (Queue &&) = delete; + + Queue & operator = (Queue const &) = delete; + Queue & operator = (Queue &&) = delete; + // Producers' methods. //! Puts event ev into queue, sets QUEUE flag and @@ -140,10 +146,6 @@ class LOG4CPLUS_EXPORT Queue //! State flags. flags_type flags; - -private: - Queue (Queue const &); - Queue & operator = (Queue const &); }; From 8ff2a0183dece55c2bc6fcb58126d572176119ad Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:17:12 +0100 Subject: [PATCH 194/353] Constinit internal::empty_str. --- src/stringhelper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 5077e43d7..815db21fc 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -39,7 +39,7 @@ namespace log4cplus::internal { -log4cplus::tstring const empty_str; +constinit log4cplus::tstring const empty_str; } // namespace log4cplus From 8200805bc735ca66c8ff53271979f0a9a806a6ea Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:18:00 +0100 Subject: [PATCH 195/353] Remove LOG4CPLUS_ATTRIBUTE_DEPRECATED. We have [[deprecated]] now. --- include/log4cplus/config.hxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 45633211a..d98113920 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -126,14 +126,12 @@ #if defined (__GNUC__) && __GNUC__ >= 3 # define LOG4CPLUS_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # define LOG4CPLUS_ATTRIBUTE_PURE __attribute__ ((__pure__)) -# define LOG4CPLUS_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) __builtin_expect ((exp), (c)) #else # if ! defined (LOG4CPLUS_ATTRIBUTE_NORETURN) # define LOG4CPLUS_ATTRIBUTE_NORETURN /* empty */ # endif # define LOG4CPLUS_ATTRIBUTE_PURE /* empty */ -# define LOG4CPLUS_ATTRIBUTE_DEPRECATED /* empty */ # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) (exp) #endif From f13033b1a4ad3f957035fbf94125a69fe906c0d3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:18:40 +0100 Subject: [PATCH 196/353] Use constinit on tcout/tcerr. --- src/global-init.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 1dc4fbe29..9e04bba8c 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -53,12 +53,12 @@ namespace log4cplus { #ifdef UNICODE -LOG4CPLUS_EXPORT tostream & tcout = std::wcout; -LOG4CPLUS_EXPORT tostream & tcerr = std::wcerr; +LOG4CPLUS_EXPORT constinit tostream & tcout = std::wcout; +LOG4CPLUS_EXPORT constinit tostream & tcerr = std::wcerr; #else -LOG4CPLUS_EXPORT tostream & tcout = std::cout; -LOG4CPLUS_EXPORT tostream & tcerr = std::cerr; +LOG4CPLUS_EXPORT constinit tostream & tcout = std::cout; +LOG4CPLUS_EXPORT constinit tostream & tcerr = std::cerr; #endif // UNICODE From 4f8b8cee62c45ac6c326f5083b05ee4bf3a83c91 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:18:56 +0100 Subject: [PATCH 197/353] Whitespace cleanup. --- include/log4cplus/internal/internal.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/log4cplus/internal/internal.h b/include/log4cplus/internal/internal.h index 2483d059e..051153f38 100644 --- a/include/log4cplus/internal/internal.h +++ b/include/log4cplus/internal/internal.h @@ -6,17 +6,17 @@ // // // Copyright (C) 2009-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -28,7 +28,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/** @file +/** @file * This header contains declaration internal to log4cplus. They must never be * visible from user accesible headers or exported in DLL/shared libray. */ @@ -74,7 +74,7 @@ struct gft_scratch_pad { gft_scratch_pad (); ~gft_scratch_pad (); - + void reset () { @@ -83,7 +83,7 @@ struct gft_scratch_pad s_str_valid = false; ret.clear (); } - + log4cplus::tstring q_str; log4cplus::tstring uc_q_str; log4cplus::tstring s_str; @@ -238,7 +238,7 @@ LOG4CPLUS_EXPORT void clear_tostringstream (tostringstream &); } // namespace detail -} // namespace log4cplus { +} // namespace log4cplus { #endif // LOG4CPLUS_INTERNAL_INTERNAL_HEADER_ From 869b4d06c5581983e5e74b8c113a4354f3d790a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 1 Mar 2023 22:32:21 +0100 Subject: [PATCH 198/353] Try C++ build with CXX=/usr/bin/g++-12 CC=/usr/bin/gcc-12 --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 651f2e45c..079ffaf05 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,7 +19,7 @@ jobs: run: | mkdir objdir cd objdir - ../configure --enable-shared --enable-unit-tests --with-working-locale + ../configure --enable-shared --enable-unit-tests --with-working-locale CXX=/usr/bin/g++-12 CC=/usr/bin/gcc-12 - name: make run: cd objdir ; make - name: make check From 4e5be3bdeede1a86057506acb1d1aece7da50329 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:36:54 +0100 Subject: [PATCH 199/353] Revert "Use constinit on tcout/tcerr." This reverts commit f13033b1a4ad3f957035fbf94125a69fe906c0d3. --- src/global-init.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 9e04bba8c..1dc4fbe29 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -53,12 +53,12 @@ namespace log4cplus { #ifdef UNICODE -LOG4CPLUS_EXPORT constinit tostream & tcout = std::wcout; -LOG4CPLUS_EXPORT constinit tostream & tcerr = std::wcerr; +LOG4CPLUS_EXPORT tostream & tcout = std::wcout; +LOG4CPLUS_EXPORT tostream & tcerr = std::wcerr; #else -LOG4CPLUS_EXPORT constinit tostream & tcout = std::cout; -LOG4CPLUS_EXPORT constinit tostream & tcerr = std::cerr; +LOG4CPLUS_EXPORT tostream & tcout = std::cout; +LOG4CPLUS_EXPORT tostream & tcerr = std::cerr; #endif // UNICODE From 1213cfd15ff9667a29e26b9737c138824ea25361 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:37:04 +0100 Subject: [PATCH 200/353] Revert "Constinit internal::empty_str." This reverts commit 8ff2a0183dece55c2bc6fcb58126d572176119ad. --- src/stringhelper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 815db21fc..5077e43d7 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -39,7 +39,7 @@ namespace log4cplus::internal { -constinit log4cplus::tstring const empty_str; +log4cplus::tstring const empty_str; } // namespace log4cplus From 5541b761267a3dff4db88ac381e920afa3e8eaa4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:37:28 +0100 Subject: [PATCH 201/353] Revert "Mark log level name strings constinit." This reverts commit 613b86a61c6285866121fd1453ebd2321478313a. --- src/loglevel.cxx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/loglevel.cxx b/src/loglevel.cxx index b36702c82..83ad7b8cb 100644 --- a/src/loglevel.cxx +++ b/src/loglevel.cxx @@ -40,16 +40,16 @@ LogLevelTranslator::~LogLevelTranslator () = default; namespace { -static constinit tstring const ALL_STRING (LOG4CPLUS_TEXT("ALL")); -static constinit tstring const TRACE_STRING (LOG4CPLUS_TEXT("TRACE")); -static constinit tstring const DEBUG_STRING (LOG4CPLUS_TEXT("DEBUG")); -static constinit tstring const INFO_STRING (LOG4CPLUS_TEXT("INFO")); -static constinit tstring const WARN_STRING (LOG4CPLUS_TEXT("WARN")); -static constinit tstring const ERROR_STRING (LOG4CPLUS_TEXT("ERROR")); -static constinit tstring const FATAL_STRING (LOG4CPLUS_TEXT("FATAL")); -static constinit tstring const OFF_STRING (LOG4CPLUS_TEXT("OFF")); -static constinit tstring const NOTSET_STRING (LOG4CPLUS_TEXT("NOTSET")); -static constinit tstring const UNKNOWN_STRING (LOG4CPLUS_TEXT("UNKNOWN")); +static tstring const ALL_STRING (LOG4CPLUS_TEXT("ALL")); +static tstring const TRACE_STRING (LOG4CPLUS_TEXT("TRACE")); +static tstring const DEBUG_STRING (LOG4CPLUS_TEXT("DEBUG")); +static tstring const INFO_STRING (LOG4CPLUS_TEXT("INFO")); +static tstring const WARN_STRING (LOG4CPLUS_TEXT("WARN")); +static tstring const ERROR_STRING (LOG4CPLUS_TEXT("ERROR")); +static tstring const FATAL_STRING (LOG4CPLUS_TEXT("FATAL")); +static tstring const OFF_STRING (LOG4CPLUS_TEXT("OFF")); +static tstring const NOTSET_STRING (LOG4CPLUS_TEXT("NOTSET")); +static tstring const UNKNOWN_STRING (LOG4CPLUS_TEXT("UNKNOWN")); class LOG4CPLUS_PRIVATE DefaultLogLevelTranslator From 55c19e3c42b4500bdc316a313356acfbd1f508f5 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:38:53 +0100 Subject: [PATCH 202/353] Revert "Try C++ build with CXX=/usr/bin/g++-12 CC=/usr/bin/gcc-12" This reverts commit 869b4d06c5581983e5e74b8c113a4354f3d790a8. --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 079ffaf05..651f2e45c 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,7 +19,7 @@ jobs: run: | mkdir objdir cd objdir - ../configure --enable-shared --enable-unit-tests --with-working-locale CXX=/usr/bin/g++-12 CC=/usr/bin/gcc-12 + ../configure --enable-shared --enable-unit-tests --with-working-locale - name: make run: cd objdir ; make - name: make check From e0c3e5092a098cf798d3e3bd54c4578eb1a8d7ff Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 22:50:33 +0100 Subject: [PATCH 203/353] Use [[noreturn]] instead of compiler specific attribute. --- include/log4cplus/config.hxx | 4 ---- include/log4cplus/config/win32.h | 1 - include/log4cplus/thread/impl/syncprims-impl.h | 5 ++--- include/log4cplus/thread/syncprims-pub-impl.h | 5 ++--- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index d98113920..01f03718b 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -124,13 +124,9 @@ #endif #if defined (__GNUC__) && __GNUC__ >= 3 -# define LOG4CPLUS_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # define LOG4CPLUS_ATTRIBUTE_PURE __attribute__ ((__pure__)) # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) __builtin_expect ((exp), (c)) #else -# if ! defined (LOG4CPLUS_ATTRIBUTE_NORETURN) -# define LOG4CPLUS_ATTRIBUTE_NORETURN /* empty */ -# endif # define LOG4CPLUS_ATTRIBUTE_PURE /* empty */ # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) (exp) #endif diff --git a/include/log4cplus/config/win32.h b/include/log4cplus/config/win32.h index 5d3a0b499..a59804fa1 100644 --- a/include/log4cplus/config/win32.h +++ b/include/log4cplus/config/win32.h @@ -157,7 +157,6 @@ # define LOG4CPLUS_WORKING_LOCALE # define LOG4CPLUS_HAVE_FUNCTION_MACRO # define LOG4CPLUS_HAVE_FUNCSIG_MACRO -# define LOG4CPLUS_ATTRIBUTE_NORETURN __declspec(noreturn) # endif #endif diff --git a/include/log4cplus/thread/impl/syncprims-impl.h b/include/log4cplus/thread/impl/syncprims-impl.h index 2222a0168..463eca7d7 100644 --- a/include/log4cplus/thread/impl/syncprims-impl.h +++ b/include/log4cplus/thread/impl/syncprims-impl.h @@ -45,9 +45,8 @@ namespace log4cplus { namespace thread { namespace impl { -LOG4CPLUS_EXPORT void LOG4CPLUS_ATTRIBUTE_NORETURN - syncprims_throw_exception (char const * const msg, - char const * const file, int line); +LOG4CPLUS_EXPORT [[noreturn]] void syncprims_throw_exception ( + char const * const msg, char const * const file, int line); class SharedMutex diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index 7958584af..c890bbea3 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -51,9 +51,8 @@ namespace log4cplus { namespace thread { namespace impl { -LOG4CPLUS_EXPORT void LOG4CPLUS_ATTRIBUTE_NORETURN - syncprims_throw_exception(char const * const msg, - char const * const file, int line); +LOG4CPLUS_EXPORT [[noreturn]] void syncprims_throw_exception( + char const * const msg, char const * const file, int line); } From 3b2c2755c4bcfd66f7667470a512ce6c67cc33f9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 23:05:52 +0100 Subject: [PATCH 204/353] Fix some unsued and shadowed variables. --- src/property.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/property.cxx b/src/property.cxx index 9309f6443..c8cdb70c2 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -136,7 +136,7 @@ CATCH_TEST_CASE( "String trimming", "[strings][properties]") void -imbue_file_from_flags (tistream & file, unsigned flags) +imbue_file_from_flags ([[maybe_unused]] tistream & file, unsigned flags) { switch (flags & (Properties::fEncodingMask << Properties::fEncodingShift)) { @@ -541,7 +541,7 @@ CATCH_TEST_CASE ("Properties", "[properties]") CATCH_SECTION ("throw on nonexistent file") { auto && f = [] { - Properties props (LOG4CPLUS_TEXT ("xxx does not exist"), Properties::fThrow); + Properties props2 (LOG4CPLUS_TEXT ("xxx does not exist"), Properties::fThrow); }; CATCH_REQUIRE_THROWS_AS (f (), log4cplus::exception); } From 82ad7cccb08d3c99196b5eab0985fc272b7069ce Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 1 Mar 2023 23:12:40 +0100 Subject: [PATCH 205/353] Move [[noreturn]] after function name. --- include/log4cplus/thread/impl/syncprims-impl.h | 2 +- include/log4cplus/thread/syncprims-pub-impl.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/log4cplus/thread/impl/syncprims-impl.h b/include/log4cplus/thread/impl/syncprims-impl.h index 463eca7d7..12fcb4c98 100644 --- a/include/log4cplus/thread/impl/syncprims-impl.h +++ b/include/log4cplus/thread/impl/syncprims-impl.h @@ -45,7 +45,7 @@ namespace log4cplus { namespace thread { namespace impl { -LOG4CPLUS_EXPORT [[noreturn]] void syncprims_throw_exception ( +LOG4CPLUS_EXPORT void syncprims_throw_exception [[noreturn]] ( char const * const msg, char const * const file, int line); diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index c890bbea3..7312b9250 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -51,7 +51,7 @@ namespace log4cplus { namespace thread { namespace impl { -LOG4CPLUS_EXPORT [[noreturn]] void syncprims_throw_exception( +LOG4CPLUS_EXPORT void syncprims_throw_exception [[noreturn]] ( char const * const msg, char const * const file, int line); } From 163a6a9afe5fc2c82d040c4fcc6180c75a4a8268 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 5 Mar 2023 19:06:51 +0100 Subject: [PATCH 206/353] configurator.h: Remove misleading comment. --- include/log4cplus/configurator.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/log4cplus/configurator.h b/include/log4cplus/configurator.h index fe73ae0ec..f1df307ce 100644 --- a/include/log4cplus/configurator.h +++ b/include/log4cplus/configurator.h @@ -259,9 +259,6 @@ namespace log4cplus * log4cplus.logger.class.of.the.day=INHERIT * * - * Refer to the setOption method in each Appender and - * Layout for class specific options. - * * Use the # character at the beginning of a line * for comments. */ From c371e4855151c5f56f3fa3c5502fe4eee798086d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 5 Mar 2023 19:22:53 +0100 Subject: [PATCH 207/353] c-cpp.yml: Build also on MacOS X. --- .github/workflows/c-cpp.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 651f2e45c..d249e4f8a 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -8,8 +8,12 @@ on: jobs: build: + strategy: + matrix: + os: ['ubuntu-latest', 'macos-latest'] - runs-on: ubuntu-latest + + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 From 4604a7c49783e80a662607d9f010d6de81a281a2 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 7 Mar 2023 19:44:47 +0100 Subject: [PATCH 208/353] Fix #579. Truncate too long string in syslog output. --- src/syslogappender.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index 8e49ae8dd..34701833b 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -211,6 +211,16 @@ parseFacility (const tstring& text) } +static +tstring +substrOrNil(tstring const & str, tstring::size_type const limit) +{ + if (str.empty ()) + return tstring (LOG4CPLUS_TEXT ("-")); + else + return str.substr (0, limit); +} + } // namespace @@ -441,13 +451,13 @@ SysLogAppender::appendRemote(const spi::InternalLoggingEvent& event) << helpers::getFormattedTime (remoteTimeFormat, event.getTimestamp (), true) // HOSTNAME - << LOG4CPLUS_TEXT (' ') << hostname + << LOG4CPLUS_TEXT (' ') << substrOrNil (hostname, 255) // APP-NAME - << LOG4CPLUS_TEXT (' ') << ident + << LOG4CPLUS_TEXT (' ') << substrOrNil (ident, 48) // PROCID << LOG4CPLUS_TEXT (' ') << internal::get_process_id () // MSGID - << LOG4CPLUS_TEXT (' ') << event.getLoggerName () + << LOG4CPLUS_TEXT (' ') << substrOrNil (event.getLoggerName (), 32) // STRUCTURED-DATA // no structured data, it could be whole MDC << LOG4CPLUS_TEXT (" - "); From ab6c01c6491e99df58af11f51a76ab090be31998 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 7 Mar 2023 19:55:59 +0100 Subject: [PATCH 209/353] c-cpp.yml: Run fix-timestamps.sh before build. --- .github/workflows/c-cpp.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d249e4f8a..e21805438 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -21,6 +21,7 @@ jobs: submodules: recursive - name: configure run: | + ./scripts/fix-timestamps.sh mkdir objdir cd objdir ../configure --enable-shared --enable-unit-tests --with-working-locale From b6c3be136d2d943702342574828f21610428f13e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Fri, 12 May 2023 23:00:53 +0200 Subject: [PATCH 210/353] Create codeql.yml --- .github/workflows/codeql.yml | 76 ++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..e3d4e189d --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,76 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '33 23 * * 4' + +jobs: + analyze: + name: Analyze + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'cpp' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" From 0dbff4cf1c3c692f14ff3f46e664724743100e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Fri, 12 May 2023 23:04:13 +0200 Subject: [PATCH 211/353] Update codeql.yml Checkout submodules. --- .github/workflows/codeql.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e3d4e189d..130f3e9e9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -41,6 +41,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + with: + submodules: recursive # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL From eb52e6c7d7b74d4e67c0513599c6edb96f9fe110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sat, 13 May 2023 12:08:21 +0200 Subject: [PATCH 212/353] Create msvc.yml --- .github/workflows/msvc.yml | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/msvc.yml diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml new file mode 100644 index 000000000..fc8c2f85b --- /dev/null +++ b/.github/workflows/msvc.yml @@ -0,0 +1,67 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# +# Find more information at: +# https://github.com/microsoft/msvc-code-analysis-action + +name: Microsoft C++ Code Analysis + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '41 2 * * 2' + +env: + # Path to the CMake build directory. + build: '${{ github.workspace }}/build' + +permissions: + contents: read + +jobs: + analyze: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + name: Analyze + runs-on: windows-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Configure CMake + run: cmake -B ${{ env.build }} + + - name: Build CMake + run: cmake --build ${{ env.build }} + + - name: Initialize MSVC Code Analysis + uses: microsoft/msvc-code-analysis-action@04825f6d9e00f87422d6bf04e1a38b1f3ed60d99 + # Provide a unique ID to access the sarif output path + id: run-analysis + with: + cmakeBuildDirectory: ${{ env.build }} + # Ruleset file that will determine what checks will be run + ruleset: NativeRecommendedRules.ruleset + + # Upload SARIF file to GitHub Code Scanning Alerts + - name: Upload SARIF to GitHub + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: ${{ steps.run-analysis.outputs.sarif }} + + # Upload SARIF file as an Artifact to download and view + # - name: Upload SARIF as an Artifact + # uses: actions/upload-artifact@v3 + # with: + # name: sarif-file + # path: ${{ steps.run-analysis.outputs.sarif }} From d68a1a6517a33d51fbd53bd319c75890ec130a49 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 13 May 2023 12:17:54 +0200 Subject: [PATCH 213/353] Revert "Create msvc.yml" This reverts commit eb52e6c7d7b74d4e67c0513599c6edb96f9fe110. --- .github/workflows/msvc.yml | 67 -------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 .github/workflows/msvc.yml diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml deleted file mode 100644 index fc8c2f85b..000000000 --- a/.github/workflows/msvc.yml +++ /dev/null @@ -1,67 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# -# Find more information at: -# https://github.com/microsoft/msvc-code-analysis-action - -name: Microsoft C++ Code Analysis - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - schedule: - - cron: '41 2 * * 2' - -env: - # Path to the CMake build directory. - build: '${{ github.workspace }}/build' - -permissions: - contents: read - -jobs: - analyze: - permissions: - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/upload-sarif to upload SARIF results - actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status - name: Analyze - runs-on: windows-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Configure CMake - run: cmake -B ${{ env.build }} - - - name: Build CMake - run: cmake --build ${{ env.build }} - - - name: Initialize MSVC Code Analysis - uses: microsoft/msvc-code-analysis-action@04825f6d9e00f87422d6bf04e1a38b1f3ed60d99 - # Provide a unique ID to access the sarif output path - id: run-analysis - with: - cmakeBuildDirectory: ${{ env.build }} - # Ruleset file that will determine what checks will be run - ruleset: NativeRecommendedRules.ruleset - - # Upload SARIF file to GitHub Code Scanning Alerts - - name: Upload SARIF to GitHub - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: ${{ steps.run-analysis.outputs.sarif }} - - # Upload SARIF file as an Artifact to download and view - # - name: Upload SARIF as an Artifact - # uses: actions/upload-artifact@v3 - # with: - # name: sarif-file - # path: ${{ steps.run-analysis.outputs.sarif }} From ab2a61683a9e110d85148a822b03a389658f0e01 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 6 Jul 2023 14:55:31 +0200 Subject: [PATCH 214/353] Guard queueLog4cplusInitializationThroughAPC() call with LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION. --- src/global-init.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/global-init.cxx b/src/global-init.cxx index 1dc4fbe29..4ee5b7a80 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -692,11 +692,13 @@ thread_callback (LPVOID /*hinstDLL*/, DWORD fdwReason, LPVOID /*lpReserved*/) { case DLL_PROCESS_ATTACH: { +#if ! defined (LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION) // We cannot initialize log4cplus directly here. This is because // DllMain() is called under loader lock. When we are using C++11 // threads and synchronization primitives then there is a deadlock // somewhere in internals of std::mutex::lock(). queueLog4cplusInitializationThroughAPC (); +#endif break; } From 07fa17c2bc3a93e9acc35d402fca0f1179e13d82 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 6 Jul 2023 15:02:50 +0200 Subject: [PATCH 215/353] get_dc(): Respect LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION --- src/global-init.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 4ee5b7a80..9cd81ba7c 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -262,7 +262,13 @@ alloc_dc () static DefaultContext * -get_dc (bool alloc = true) +get_dc ( +#ifdef LOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION + bool alloc = false +#else + bool alloc = true +#endif +) { if (LOG4CPLUS_UNLIKELY(!default_context)) { From e58a871c9a6923458419f4038feb58323233a007 Mon Sep 17 00:00:00 2001 From: Martin Engelmann Date: Sat, 2 Sep 2023 21:07:42 +0200 Subject: [PATCH 216/353] config: resolve environment variables in include Enable resolving environment variables in the include statement of configuration files. The path of the included file may contain environment variables. Example: include ${PATH}/included-file --- include/log4cplus/helpers/property.h | 9 +++ src/configurator.cxx | 112 +------------------------- src/property.cxx | 113 ++++++++++++++++++++++++++- 3 files changed, 122 insertions(+), 112 deletions(-) diff --git a/include/log4cplus/helpers/property.h b/include/log4cplus/helpers/property.h index b7b96c74b..fa81bc3f9 100644 --- a/include/log4cplus/helpers/property.h +++ b/include/log4cplus/helpers/property.h @@ -155,6 +155,15 @@ namespace log4cplus { bool get_type_val_worker (ValType & val, log4cplus::tstring const & key) const; }; + + + class LogLog; + + + bool + substVars (tstring & dest, const tstring & val, + Properties const & props, LogLog& loglog, + unsigned flags); } // end namespace helpers } diff --git a/src/configurator.cxx b/src/configurator.cxx index abcdaf034..eeaec1f80 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -61,114 +61,6 @@ void initializeLog4cplus(); namespace { - static tchar const DELIM_START[] = LOG4CPLUS_TEXT("${"); - static tchar const DELIM_STOP[] = LOG4CPLUS_TEXT("}"); - static std::size_t const DELIM_START_LEN = 2; - static std::size_t const DELIM_STOP_LEN = 1; - - - /** - * Perform variable substitution in string val from - * environment variables. - * - *

The variable substitution delimeters are ${ and }. - * - *

For example, if the System properties contains "key=value", then - * the call - *

-     * string s;
-     * substEnvironVars(s, "Value of key is ${key}.");
-     * 
- * - * will set the variable s to "Value of key is value.". - * - *

If no value could be found for the specified key, then - * substitution defaults to the empty string. - * - *

For example, if there is no environment variable "inexistentKey", - * then the call - * - *

-     * string s;
-     * substEnvironVars(s, "Value of inexistentKey is [${inexistentKey}]");
-     * 
- * will set s to "Value of inexistentKey is []" - * - * @param val The string on which variable substitution is performed. - * @param dest The result. - */ - static - bool - substVars (tstring & dest, const tstring & val, - helpers::Properties const & props, helpers::LogLog& loglog, - unsigned flags) - { - tstring::size_type i = 0; - tstring::size_type var_start, var_end; - tstring pattern (val); - tstring key; - tstring replacement; - bool changed = false; - bool const empty_vars - = !! (flags & PropertyConfigurator::fAllowEmptyVars); - bool const shadow_env - = !! (flags & PropertyConfigurator::fShadowEnvironment); - bool const rec_exp - = !! (flags & PropertyConfigurator::fRecursiveExpansion); - - while (true) - { - // Find opening paren of variable substitution. - var_start = pattern.find(DELIM_START, i); - if (var_start == tstring::npos) - { - dest = pattern; - return changed; - } - - // Find closing paren of variable substitution. - var_end = pattern.find(DELIM_STOP, var_start); - if (var_end == tstring::npos) - { - tostringstream buffer; - buffer << '"' << pattern - << "\" has no closing brace. " - << "Opening brace at position " << var_start << "."; - loglog.error(buffer.str()); - dest = val; - return false; - } - - key.assign (pattern, var_start + DELIM_START_LEN, - var_end - (var_start + DELIM_START_LEN)); - replacement.clear (); - if (shadow_env) - replacement = props.getProperty (key); - if (! shadow_env || (! empty_vars && replacement.empty ())) - internal::get_env_var (replacement, key); - - if (empty_vars || ! replacement.empty ()) - { - // Substitute the variable with its value in place. - pattern.replace (var_start, var_end - var_start + DELIM_STOP_LEN, - replacement); - changed = true; - if (rec_exp) - // Retry expansion on the same spot. - continue; - else - // Move beyond the just substituted part. - i = var_start + replacement.size (); - } - else - // Nothing has been subtituted, just move beyond the - // unexpanded variable. - i = var_end + DELIM_STOP_LEN; - } // end while loop - - } // end substVars() - - //! Translates encoding in ProtpertyConfigurator::PCFlags //! to helpers::Properties::PFlags static @@ -365,7 +257,7 @@ PropertyConfigurator::replaceEnvironVariables() val = properties.getProperty(key); subKey.clear (); - if (substVars(subKey, key, properties, helpers::getLogLog(), flags)) + if (helpers::substVars(subKey, key, properties, helpers::getLogLog(), flags)) { properties.removeProperty(key); properties.setProperty(subKey, val); @@ -373,7 +265,7 @@ PropertyConfigurator::replaceEnvironVariables() } subVal.clear (); - if (substVars(subVal, val, properties, helpers::getLogLog(), flags)) + if (helpers::substVars(subVal, val, properties, helpers::getLogLog(), flags)) { properties.setProperty(subKey, subVal); changed = true; diff --git a/src/property.cxx b/src/property.cxx index c8cdb70c2..512c8502c 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -43,6 +43,7 @@ #include #include #include +#include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) #include @@ -188,6 +189,111 @@ imbue_file_from_flags ([[maybe_unused]] tistream & file, unsigned flags) } // namespace +/** + * Perform variable substitution in string val from + * environment variables. + * + *

The variable substitution delimeters are ${ and }. + * + *

For example, if the System properties contains "key=value", then + * the call + *

+ * string s;
+ * substEnvironVars(s, "Value of key is ${key}.");
+ * 
+ * + * will set the variable s to "Value of key is value.". + * + *

If no value could be found for the specified key, then + * substitution defaults to the empty string. + * + *

For example, if there is no environment variable "inexistentKey", + * then the call + * + *

+ * string s;
+ * substEnvironVars(s, "Value of inexistentKey is [${inexistentKey}]");
+ * 
+ * will set s to "Value of inexistentKey is []" + * + * @param val The string on which variable substitution is performed. + * @param dest The result. + */ +bool +substVars (tstring & dest, const tstring & val, + helpers::Properties const & props, helpers::LogLog& loglog, + unsigned flags) +{ + static tchar const DELIM_START[] = LOG4CPLUS_TEXT("${"); + static tchar const DELIM_STOP[] = LOG4CPLUS_TEXT("}"); + static std::size_t const DELIM_START_LEN = 2; + static std::size_t const DELIM_STOP_LEN = 1; + + tstring::size_type i = 0; + tstring::size_type var_start, var_end; + tstring pattern (val); + tstring key; + tstring replacement; + bool changed = false; + bool const empty_vars + = !! (flags & PropertyConfigurator::fAllowEmptyVars); + bool const shadow_env + = !! (flags & PropertyConfigurator::fShadowEnvironment); + bool const rec_exp + = !! (flags & PropertyConfigurator::fRecursiveExpansion); + + while (true) + { + // Find opening paren of variable substitution. + var_start = pattern.find(DELIM_START, i); + if (var_start == tstring::npos) + { + dest = pattern; + return changed; + } + + // Find closing paren of variable substitution. + var_end = pattern.find(DELIM_STOP, var_start); + if (var_end == tstring::npos) + { + tostringstream buffer; + buffer << '"' << pattern + << "\" has no closing brace. " + << "Opening brace at position " << var_start << "."; + loglog.error(buffer.str()); + dest = val; + return false; + } + + key.assign (pattern, var_start + DELIM_START_LEN, + var_end - (var_start + DELIM_START_LEN)); + replacement.clear (); + if (shadow_env) + replacement = props.getProperty (key); + if (! shadow_env || (! empty_vars && replacement.empty ())) + internal::get_env_var (replacement, key); + + if (empty_vars || ! replacement.empty ()) + { + // Substitute the variable with its value in place. + pattern.replace (var_start, var_end - var_start + DELIM_STOP_LEN, + replacement); + changed = true; + if (rec_exp) + // Retry expansion on the same spot. + continue; + else + // Move beyond the just substituted part. + i = var_start + replacement.size (); + } + else + // Nothing has been subtituted, just move beyond the + // unexpanded variable. + i = var_end + DELIM_STOP_LEN; + } // end while loop + +} // end substVars() + /////////////////////////////////////////////////////////////////////////////// // Properties ctors and dtor @@ -256,14 +362,17 @@ Properties::init(tistream& input) tstring included (buffer, 8) ; trim_ws (included); + tstring subIncluded; + helpers::substVars(subIncluded, included, *this, helpers::getLogLog(), 0); + tifstream file; imbue_file_from_flags (file, flags); - file.open (LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(included).c_str(), + file.open (LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(subIncluded).c_str(), std::ios::binary); if (! file.good ()) helpers::getLogLog ().error ( - LOG4CPLUS_TEXT ("could not open file ") + included); + LOG4CPLUS_TEXT ("could not open file ") + subIncluded); init (file); } From 322984f69c60839c44c0051fd6b92b6132275e24 Mon Sep 17 00:00:00 2001 From: Cyril Margorin Date: Mon, 2 Oct 2023 20:13:07 +0300 Subject: [PATCH 217/353] Do not check for absence of heap if there is nothing to delete --- src/global-init.cxx | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/global-init.cxx b/src/global-init.cxx index 1dc4fbe29..22d8874ab 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -617,23 +617,26 @@ threadCleanup () // // It is possible to work around this situation in user application by // calling `threadCleanup()` manually before `main()` exits. -#if defined (_WIN32) - if (_get_heap_handle() != 0) + internal::per_thread_data* ptd = internal::get_ptd(false); + if (ptd) { +#if defined (_WIN32) + if (_get_heap_handle() != 0) + { #endif - // Do thread-specific cleanup. - internal::per_thread_data * ptd = internal::get_ptd (false); - delete ptd; + // Do thread-specific cleanup. + delete ptd; #if defined (_WIN32) - } - else - { - OutputDebugString ( - LOG4CPLUS_TEXT ("log4cplus: ") - LOG4CPLUS_TEXT ("CRT heap is already gone in threadCleanup()\n")); - } + } + else + { + OutputDebugString( + LOG4CPLUS_TEXT("log4cplus: ") + LOG4CPLUS_TEXT("CRT heap is already gone in threadCleanup()\n")); + } #endif - internal::set_ptd (nullptr); + internal::set_ptd(nullptr); + } } From 7a173177e2594a3213ce78c5b3a881389a8ace3a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 13 Dec 2023 21:12:46 +0100 Subject: [PATCH 218/353] Avoid integer overflow warnings from Snyk. --- src/socket-unix.cxx | 8 +++++--- src/socket-win32.cxx | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 63d2cb202..5670a8b09 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -365,16 +365,18 @@ read(SOCKET_TYPE sock, SocketBuffer& buffer) { long readbytes = 0; + char * const buf = buffer.getBuffer (); + std::size_t const buf_max_size = buffer.getMaxSize (); do { long const res = ::read(to_os_socket (sock), - buffer.getBuffer() + readbytes, - buffer.getMaxSize() - readbytes); + buf + readbytes, + buf_max_size - readbytes); if( res <= 0 ) { return res; } readbytes += res; - } while( readbytes < static_cast(buffer.getMaxSize()) ); + } while( readbytes < static_cast(buf_max_size) ); return readbytes; } diff --git a/src/socket-win32.cxx b/src/socket-win32.cxx index 57505e214..a5c115b41 100644 --- a/src/socket-win32.cxx +++ b/src/socket-win32.cxx @@ -323,11 +323,13 @@ read(SOCKET_TYPE sock, SocketBuffer& buffer) long read = 0; os_socket_type const osSocket = to_os_socket (sock); + char * const buf = buffer.getBuffer (); + std::size_t const buf_max_size = buffer.getMaxSize (); do { long const res = ::recv(osSocket, - buffer.getBuffer() + read, - static_cast(buffer.getMaxSize() - read), + buf + read, + static_cast(buf_max_size - read), 0); if (res == SOCKET_ERROR) { @@ -342,7 +344,7 @@ read(SOCKET_TYPE sock, SocketBuffer& buffer) read += res; } - while (read < static_cast(buffer.getMaxSize())); + while (read < static_cast(buf_max_size)); return read; } From 5374e2a554f05e680df9b8a005b692e90ed5fd39 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 21 Dec 2023 14:56:44 +0100 Subject: [PATCH 219/353] Update config.guess, config.sub. --- config.guess | 107 +++++++++++++++++------ config.sub | 236 ++++++++++++++++++++++++++++++++++----------------- 2 files changed, 239 insertions(+), 104 deletions(-) diff --git a/config.guess b/config.guess index e81d3ae7c..cdfc43920 100755 --- a/config.guess +++ b/config.guess @@ -1,14 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-06-03' +timestamp='2023-08-22' # This file 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 +# 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 @@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] -Output the configuration name of the system \`$me' is run on. +Output the configuration name of the system '$me' is run on. Options: -h, --help print this help, then exit @@ -60,13 +60,13 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2023 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." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -102,8 +102,8 @@ GUESS= # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. +# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still +# use 'HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. @@ -155,6 +155,9 @@ Linux|GNU|GNU/*) set_cc_for_build cat <<-EOF > "$dummy.c" + #if defined(__ANDROID__) + LIBC=android + #else #include #if defined(__UCLIBC__) LIBC=uclibc @@ -169,6 +172,7 @@ Linux|GNU|GNU/*) LIBC=musl #endif #endif + #endif EOF cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` eval "$cc_set_libc" @@ -437,7 +441,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 @@ -459,7 +463,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in UNAME_RELEASE=`uname -v` ;; esac - # Japanese Language versions have a version number like `4.1.3-JL'. + # Japanese Language versions have a version number like '4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; @@ -904,7 +908,7 @@ EOF fi ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` + UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; @@ -929,6 +933,9 @@ EOF i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) case $UNAME_MACHINE in x86) @@ -963,11 +970,37 @@ EOF GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __ARM_EABI__ + #ifdef __ARM_PCS_VFP + ABI=eabihf + #else + ABI=eabi + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; + esac + fi + GUESS=$CPU-unknown-linux-$LIBCABI ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be @@ -1033,7 +1066,16 @@ EOF k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + kvx:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + kvx:cos:*:*) + GUESS=$UNAME_MACHINE-unknown-cos + ;; + kvx:mbr:*:*) + GUESS=$UNAME_MACHINE-unknown-mbr + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) @@ -1148,16 +1190,27 @@ EOF ;; x86_64:Linux:*:*) set_cc_for_build + CPU=$UNAME_MACHINE LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + GUESS=$CPU-pc-linux-$LIBCABI ;; xtensa*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC @@ -1177,7 +1230,7 @@ EOF GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility + # If we were able to find 'uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; @@ -1318,7 +1371,7 @@ EOF GUESS=ns32k-sni-sysv fi ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; @@ -1364,8 +1417,11 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. GUESS=i586-pc-haiku ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku ;; SX-4:SUPER-UX:*:*) GUESS=sx4-nec-superux$UNAME_RELEASE @@ -1522,6 +1578,9 @@ EOF i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; diff --git a/config.sub b/config.sub index d74fb6dea..defe52c0c 100755 --- a/config.sub +++ b/config.sub @@ -1,14 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-08-14' +timestamp='2023-09-19' # This file 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 +# 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 @@ -76,13 +76,13 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2023 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." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -130,7 +130,7 @@ IFS=$saved_IFS # Separate into logical components for further validation case $1 in *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 + echo "Invalid configuration '$1': more than four components" >&2 exit 1 ;; *-*-*-*) @@ -145,7 +145,8 @@ case $1 in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ + | windows-* ) basic_machine=$field1 basic_os=$maybe_os ;; @@ -943,7 +944,7 @@ $basic_machine EOF IFS=$saved_IFS ;; - # We use `pc' rather than `unknown' + # We use 'pc' rather than 'unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) @@ -1020,6 +1021,11 @@ case $cpu-$vendor in ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull @@ -1070,7 +1076,7 @@ case $cpu-$vendor in pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) cpu=i586 ;; - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) + pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*) cpu=i686 ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) @@ -1121,7 +1127,7 @@ case $cpu-$vendor in xscale-* | xscalee[bl]-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-*) + arm64-* | aarch64le-*) cpu=aarch64 ;; @@ -1175,7 +1181,7 @@ case $cpu-$vendor in case $cpu in 1750a | 580 \ | a29k \ - | aarch64 | aarch64_be \ + | aarch64 | aarch64_be | aarch64c | arm64ec \ | abacus \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ @@ -1194,45 +1200,23 @@ case $cpu-$vendor in | d10v | d30v | dlx | dsp16xx \ | e2k | elxsi | epiphany \ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | javascript \ | h8300 | h8500 \ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ + | kvx \ | le32 | le64 \ | lm32 \ - | loongarch32 | loongarch64 | loongarchx32 \ + | loongarch32 | loongarch64 \ | m32c | m32r | m32rle \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m88110 | m88k | maxq | mb | mcore | mep | metag \ | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r3 | mipsisa32r3el \ - | mipsisa32r5 | mipsisa32r5el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r3 | mipsisa64r3el \ - | mipsisa64r5 | mipsisa64r5el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ + | mips* \ | mmix \ | mn10200 | mn10300 \ | moxie \ @@ -1280,7 +1264,7 @@ case $cpu-$vendor in ;; *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 exit 1 ;; esac @@ -1301,11 +1285,12 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if test x$basic_os != x +if test x"$basic_os" != x then -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. +obj= case $basic_os in gnu/linux*) kernel=linux @@ -1336,6 +1321,10 @@ EOF kernel=linux os=`echo "$basic_os" | sed -e 's|linux|gnu|'` ;; + managarm*) + kernel=managarm + os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` + ;; *) kernel= os=$basic_os @@ -1501,10 +1490,16 @@ case $os in os=eabi ;; *) - os=elf + os= + obj=elf ;; esac ;; + aout* | coff* | elf* | pe*) + # These are machine code file formats, not OSes + obj=$os + os= + ;; *) # No normalization, but not necessarily accepted, that comes below. ;; @@ -1523,12 +1518,15 @@ else # system, and we'll never get to this point. kernel= +obj= case $cpu-$vendor in score-*) - os=elf + os= + obj=elf ;; spu-*) - os=elf + os= + obj=elf ;; *-acorn) os=riscix1.2 @@ -1538,28 +1536,35 @@ case $cpu-$vendor in os=gnu ;; arm*-semi) - os=aout + os= + obj=aout ;; c4x-* | tic4x-*) - os=coff + os= + obj=coff ;; c8051-*) - os=elf + os= + obj=elf ;; clipper-intergraph) os=clix ;; hexagon-*) - os=elf + os= + obj=elf ;; tic54x-*) - os=coff + os= + obj=coff ;; tic55x-*) - os=coff + os= + obj=coff ;; tic6x-*) - os=coff + os= + obj=coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1581,19 +1586,24 @@ case $cpu-$vendor in os=sunos3 ;; m68*-cisco) - os=aout + os= + obj=aout ;; mep-*) - os=elf + os= + obj=elf ;; mips*-cisco) - os=elf + os= + obj=elf ;; mips*-*) - os=elf + os= + obj=elf ;; or32-*) - os=coff + os= + obj=coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=sysv3 @@ -1602,7 +1612,8 @@ case $cpu-$vendor in os=sunos4.1.1 ;; pru-*) - os=elf + os= + obj=elf ;; *-be) os=beos @@ -1683,10 +1694,12 @@ case $cpu-$vendor in os=uxpv ;; *-rom68k) - os=coff + os= + obj=coff ;; *-*bug) - os=coff + os= + obj=coff ;; *-apple) os=macos @@ -1704,7 +1717,8 @@ esac fi -# Now, validate our (potentially fixed-up) OS. +# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). + case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. musl* | newlib* | relibc* | uclibc*) @@ -1715,6 +1729,9 @@ case $os in # VxWorks passes extra cpu info in the 4th filed. simlinux | simwindows | spe) ;; + # See `case $cpu-$os` validation below + ghcjs) + ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. @@ -1723,7 +1740,7 @@ case $os in | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ | hiux* | abug | nacl* | netware* | windows* \ - | os9* | macos* | osx* | ios* \ + | os9* | macos* | osx* | ios* | tvos* | watchos* \ | mpw* | magic* | mmixware* | mon960* | lnews* \ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* | twizzler* \ @@ -1732,11 +1749,11 @@ case $os in | mirbsd* | netbsd* | dicos* | openedition* | ose* \ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | bosx* | nextstep* | cxux* | oabi* \ + | ptx* | ecoff* | winnt* | domain* | vsta* \ | udi* | lites* | ieee* | go32* | aux* | hcos* \ | chorusrdb* | cegcc* | glidix* | serenity* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | cygwin* | msys* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | mint* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ | interix* | uwin* | mks* | rhapsody* | darwin* \ @@ -1748,7 +1765,8 @@ case $os in | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* | mlibc* | cos* | mbr* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1756,41 +1774,99 @@ case $os in ;; none) ;; + kernel* | msvc* ) + # Restricted further below + ;; + '') + if test x"$obj" = x + then + echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 + fi + ;; + *) + echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 + exit 1 + ;; +esac + +case $obj in + aout* | coff* | elf* | pe*) + ;; + '') + # empty is fine + ;; *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 + exit 1 + ;; +esac + +# Here we handle the constraint that a (synthetic) cpu and os are +# valid only in combination with each other and nowhere else. +case $cpu-$os in + # The "javascript-unknown-ghcjs" triple is used by GHC; we + # accept it here in order to tolerate that, but reject any + # variations. + javascript-ghcjs) + ;; + javascript-* | *-ghcjs) + echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 exit 1 ;; esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) +case $kernel-$os-$obj in + linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ + | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) + ;; + uclinux-uclibc*- ) + ;; + managarm-mlibc*- | managarm-kernel*- ) ;; - uclinux-uclibc* ) + windows*-msvc*-) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 exit 1 ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) + -kernel*- ) + echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 + exit 1 ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) + *-kernel*- ) + echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 + exit 1 ;; - nto-qnx*) + *-msvc*- ) + echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 + exit 1 ;; - os2-emx) + kfreebsd*-gnu*- | kopensolaris*-gnu*-) + ;; + vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) + ;; + nto-qnx*-) + ;; + os2-emx-) ;; - *-eabi* | *-gnueabi*) + *-eabi*- | *-gnueabi*-) ;; - -*) + none--*) + # None (no kernel, i.e. freestanding / bare metal), + # can be paired with an machine code file format + ;; + -*-) # Blank kernel with real OS is always fine. ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + --*) + # Blank kernel and OS with real machine code file format is always fine. + ;; + *-*-*) + echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 exit 1 ;; esac @@ -1873,7 +1949,7 @@ case $vendor in ;; esac -echo "$cpu-$vendor-${kernel:+$kernel-}$os" +echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" exit # Local variables: From c16c0044e57e46aacba5e44d6d68fd2ffaf2bf26 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 21 Dec 2023 15:00:05 +0100 Subject: [PATCH 220/353] CMakeFiles.txt: Fix warning about ordering of statements. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9dba76ea3..675ce85d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,8 @@ endif () # Remove when CMake >= 2.8.4 is required set (CMAKE_LEGACY_CYGWIN_WIN32 0) -project (log4cplus) cmake_minimum_required (VERSION 3.12) +project (log4cplus) # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) From 613717f46e95c6a4d2ee47f35cd34ac560d074d6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 10:53:53 +0100 Subject: [PATCH 221/353] Use -Wc++20-compat for C++20 source. --- configure | 19 +++++++++---------- configure.ac | 4 ++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/configure b/configure index f4d28b7d1..53060f127 100755 --- a/configure +++ b/configure @@ -5384,7 +5384,6 @@ printf "%s\n" "$as_me: WARNING: Neither C++ locale support nor C locale support nor iconv() support requested, using poor man's locale conversion." >&2;} fi - # Check whether --enable-debugging was given. if test ${enable_debugging+y} then : @@ -9820,13 +9819,13 @@ case ".$var" in esac ;; esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++14-compat" >&5 -printf %s "checking CXXFLAGS for gcc -Wc++14-compat... " >&6; } -if test ${ax_cv_cxxflags_gcc_option__Wcpp14_compat+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++20-compat" >&5 +printf %s "checking CXXFLAGS for gcc -Wc++20-compat... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wcpp20_compat+y} then : printf %s "(cached) " >&6 else $as_nop - ax_cv_cxxflags_gcc_option__Wcpp14_compat="no, unknown" + ax_cv_cxxflags_gcc_option__Wcpp20_compat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9834,7 +9833,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_save_CXXFLAGS="$CXXFLAGS" -for ac_arg in "-pedantic -Werror % -Wc++14-compat" "-pedantic % -Wc++14-compat %% no, obsolete" # +for ac_arg in "-pedantic -Werror % -Wc++20-compat" "-pedantic % -Wc++20-compat %% no, obsolete" # do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9849,7 +9848,7 @@ zero = 0; return zero; _ACEOF if ac_fn_cxx_try_link "$LINENO" then : - ax_cv_cxxflags_gcc_option__Wcpp14_compat=`echo $ac_arg | sed -e 's,.*% *,,'`; break + ax_cv_cxxflags_gcc_option__Wcpp20_compat=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -9863,9 +9862,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&5 -printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp14_compat" >&6; } -var=$ax_cv_cxxflags_gcc_option__Wcpp14_compat +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wcpp20_compat case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; diff --git a/configure.ac b/configure.ac index 1971545a0..3c43566e8 100644 --- a/configure.ac +++ b/configure.ac @@ -61,7 +61,7 @@ AS_IF([test "x$with_working_locale" = "xno" \ -a "x$with_working_c_locale" = "xno" \ -a "x$with_iconv" = "xno"], [AC_MSG_WARN([Neither C++ locale support nor C locale support \ -nor iconv() support requested, using poor man's locale conversion.])]) +nor iconv() support requested, using poor man's locale conversion.])]) dnl ' dnl Debugging or release build? @@ -265,7 +265,7 @@ AS_CASE([$ax_cv_cxx_compiler_vendor], [mingw*], [], [AX_CXXFLAGS_GCC_OPTION([-Wold-style-cast])]) dnl AX_CXXFLAGS_GCC_OPTION([-Wabi]) - AX_CXXFLAGS_GCC_OPTION([-Wc++14-compat]) + AX_CXXFLAGS_GCC_OPTION([-Wc++20-compat]) dnl AX_CXXFLAGS_GCC_OPTION([-Wconversion]) AX_CXXFLAGS_GCC_OPTION([-Wundef]) AX_CXXFLAGS_GCC_OPTION([-Wshadow]) From 9564cef7ba1bb7c987b5e696b1aa256786749912 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 11:32:13 +0100 Subject: [PATCH 222/353] syslogappender.cxx: Fix pessimizing move warning. --- src/syslogappender.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index 34701833b..efa0b95c5 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -269,7 +269,7 @@ SysLogAppender::SysLogAppender(const helpers::Properties & properties) bool fqdn = true; properties.getBool (fqdn, LOG4CPLUS_TEXT ("fqdn")); - hostname = std::move(helpers::getHostname (fqdn).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-"))); + hostname = helpers::getHostname (fqdn).value_or (LOG4CPLUS_C_STR_TO_TSTRING ("-")); properties.getString (host, LOG4CPLUS_TEXT ("host")) || properties.getString (host, LOG4CPLUS_TEXT ("SyslogHost")); From e2e14f8559d718470f7de933370b3efefe363c65 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 11:36:04 +0100 Subject: [PATCH 223/353] timehelper.cxx: Remove unused constant ONE_SEC_IN_USEC. --- src/timehelper.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 7ae15143d..b69edd710 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -58,8 +58,6 @@ namespace log4cplus::helpers { -const int ONE_SEC_IN_USEC = 1000000; - using std::mktime; using std::gmtime; using std::localtime; @@ -283,7 +281,7 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, // without changing errno. std::size_t const buffer_size_max = (std::max) (static_cast(1024), buffer_size * 16); - + buffer_size = (std::max) (buffer_size, gft_sp.buffer.capacity()); do From b389daa07b026c27647448058d87f9fbc02bab76 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 14:38:31 +0100 Subject: [PATCH 224/353] Use Clang thread safety analysis if possible. --- .../log4cplus/internal/threadsafetyanalysis.h | 106 ++++++++++++++++++ .../log4cplus/thread/impl/syncprims-impl.h | 12 +- include/log4cplus/thread/syncprims.h | 43 ++++--- 3 files changed, 133 insertions(+), 28 deletions(-) create mode 100644 include/log4cplus/internal/threadsafetyanalysis.h diff --git a/include/log4cplus/internal/threadsafetyanalysis.h b/include/log4cplus/internal/threadsafetyanalysis.h new file mode 100644 index 000000000..f20ba2c17 --- /dev/null +++ b/include/log4cplus/internal/threadsafetyanalysis.h @@ -0,0 +1,106 @@ +// -*- C++ -*- +// Module: Log4CPLUS +// File: threadsafetyanalysis.h +// Created: 12/2023 +// Author: Vaclav Haisman +// +// +// Copyright (C) 2023, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/** + * @file Thread safety analysis annotations/attributes for Clang. + * + */ + +#ifndef LOG4CPLUS_INTERNAL_THREADSAFETYANALYSIS_HEADER_ +#define LOG4CPLUS_INTERNAL_THREADSAFETYANALYSIS_HEADER_ + +#if defined (__clang) && \ + ! defined (SWIG) +#define LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(x) __attribute__((x)) +#else // ! defined (__clang) +#define LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(x) // no-op +#endif // defined (__clang) + +#define LOG4CPLUS_TSA_CAPABILITY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(capability(x)) + +#define LOG4CPLUS_TSA_SCOPED_CAPABILITY \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(scoped_lockable) + +#define LOG4CPLUS_TSA_GUARDED_BY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(guarded_by(x)) + +#define LOG4CPLUS_TSA_PT_GUARDED_BY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(pt_guarded_by(x)) + +#define LOG4CPLUS_TSA_ACQUIRED_BEFORE(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(acquired_before(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_ACQUIRED_AFTER(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(acquired_after(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_REQUIRES(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(requires_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_REQUIRES_SHARED(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(requires_shared_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_ACQUIRE(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(acquire_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_ACQUIRE_SHARED(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(acquire_shared_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_RELEASE(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(release_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_RELEASE_SHARED(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(release_shared_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_RELEASE_GENERIC(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(release_generic_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_TRY_ACQUIRE(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(try_acquire_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_TRY_ACQUIRE_SHARED(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(try_acquire_shared_capability(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_EXCLUDES(...) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(locks_excluded(__VA_ARGS__)) + +#define LOG4CPLUS_TSA_ASSERT_CAPABILITY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(assert_capability(x)) + +#define LOG4CPLUS_TSA_ASSERT_SHARED_CAPABILITY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(assert_shared_capability(x)) + +#define LOG4CPLUS_TSA_RETURN_CAPABILITY(x) \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(lock_returned(x)) + +#define LOG4CPLUS_TSA_NO_THREAD_SAFETY_ANALYSIS \ + LOG4CPLUS_TSA_ANNOTATION_ATTRIBUTE(no_thread_safety_analysis) + +#endif // LOG4CPLUS_INTERNAL_THREADSAFETYANALYSIS_HEADER_ diff --git a/include/log4cplus/thread/impl/syncprims-impl.h b/include/log4cplus/thread/impl/syncprims-impl.h index 12fcb4c98..23dd25299 100644 --- a/include/log4cplus/thread/impl/syncprims-impl.h +++ b/include/log4cplus/thread/impl/syncprims-impl.h @@ -40,7 +40,7 @@ #include #include #include - +#include namespace log4cplus { namespace thread { namespace impl { @@ -49,17 +49,17 @@ LOG4CPLUS_EXPORT void syncprims_throw_exception [[noreturn]] ( char const * const msg, char const * const file, int line); -class SharedMutex +class LOG4CPLUS_TSA_CAPABILITY("mutex") SharedMutex : public SharedMutexImplBase { public: SharedMutex (); ~SharedMutex (); - void rdlock () const; - void wrlock () const; - void rdunlock () const; - void wrunlock () const; + void rdlock () const LOG4CPLUS_TSA_ACQUIRE_SHARED(); + void wrlock () const LOG4CPLUS_TSA_ACQUIRE(); + void rdunlock () const LOG4CPLUS_TSA_RELEASE_SHARED(); + void wrunlock () const LOG4CPLUS_TSA_RELEASE(); private: Mutex m1; diff --git a/include/log4cplus/thread/syncprims.h b/include/log4cplus/thread/syncprims.h index 611d32af5..a6c0ba6a6 100644 --- a/include/log4cplus/thread/syncprims.h +++ b/include/log4cplus/thread/syncprims.h @@ -33,26 +33,27 @@ #include #include +#include namespace log4cplus { namespace thread { template -class SyncGuard +class LOG4CPLUS_TSA_SCOPED_CAPABILITY SyncGuard { public: SyncGuard (); - SyncGuard (SyncPrim const &); - ~SyncGuard (); + SyncGuard (SyncPrim const & sp) LOG4CPLUS_TSA_ACQUIRE (sp); + ~SyncGuard () LOG4CPLUS_TSA_RELEASE (); SyncGuard (SyncGuard const &) = delete; SyncGuard & operator = (SyncGuard const &) = delete; - void lock (); - void unlock (); - void attach (SyncPrim const &); - void attach_and_lock (SyncPrim const &); + void lock () LOG4CPLUS_TSA_ACQUIRE (); + void unlock () LOG4CPLUS_TSA_RELEASE (); + void attach (SyncPrim const & sp) LOG4CPLUS_TSA_REQUIRES (sp); + void attach_and_lock (SyncPrim const & sp) LOG4CPLUS_TSA_ACQUIRE (sp); void detach (); private: @@ -60,7 +61,7 @@ class SyncGuard }; -class LOG4CPLUS_EXPORT Mutex +class LOG4CPLUS_EXPORT LOG4CPLUS_TSA_CAPABILITY ("mutex") Mutex { public: Mutex (); @@ -68,8 +69,8 @@ class LOG4CPLUS_EXPORT Mutex Mutex (Mutex const &) = delete; Mutex & operator = (Mutex const &) = delete; - void lock () const; - void unlock () const; + void lock () const LOG4CPLUS_TSA_ACQUIRE (); + void unlock () const LOG4CPLUS_TSA_RELEASE (); private: LOG4CPLUS_THREADED (mutable std::recursive_mutex mtx;) @@ -140,6 +141,8 @@ class SyncGuardFunc public: SyncGuardFunc (SyncPrim const &); ~SyncGuardFunc (); + SyncGuardFunc (SyncGuardFunc const &) = delete; + SyncGuardFunc & operator = (SyncGuardFunc const &) = delete; void lock (); void unlock (); @@ -148,29 +151,25 @@ class SyncGuardFunc private: SyncPrim const * sp; - - SyncGuardFunc (SyncGuardFunc const &); - SyncGuardFunc & operator = (SyncGuardFunc const &); }; -class LOG4CPLUS_EXPORT SharedMutex +class LOG4CPLUS_EXPORT LOG4CPLUS_TSA_CAPABILITY ("mutex") SharedMutex { public: SharedMutex (); ~SharedMutex (); + SharedMutex (SharedMutex const &) = delete; + SharedMutex & operator = (SharedMutex const &) = delete; - void rdlock () const; - void rdunlock () const; + void rdlock () const LOG4CPLUS_TSA_ACQUIRE_SHARED (); + void rdunlock () const LOG4CPLUS_TSA_RELEASE_SHARED (); - void wrlock () const; - void wrunlock () const; + void wrlock () const LOG4CPLUS_TSA_ACQUIRE (); + void wrunlock () const LOG4CPLUS_TSA_RELEASE (); private: SharedMutexImplBase * sm; - - SharedMutex (SharedMutex const &); - SharedMutex & operator = (SharedMutex const &); }; @@ -189,7 +188,7 @@ typedef SyncGuardFunc inline SyncGuard::SyncGuard () - : sp (0) + : sp (nullptr) { } From c7856ce8dfd2b1363882d899fb9a90cf8cf9521f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 15:23:42 +0100 Subject: [PATCH 225/353] Replace appender_list_mutex with std::recursive_mutex. --- include/log4cplus/helpers/appenderattachableimpl.h | 2 +- src/appenderattachableimpl.cxx | 12 ++++++------ src/hierarchylocker.cxx | 2 -- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/include/log4cplus/helpers/appenderattachableimpl.h b/include/log4cplus/helpers/appenderattachableimpl.h index ee3903b6a..c3ccb35d7 100644 --- a/include/log4cplus/helpers/appenderattachableimpl.h +++ b/include/log4cplus/helpers/appenderattachableimpl.h @@ -50,7 +50,7 @@ namespace log4cplus { { public: // Data - thread::Mutex appender_list_mutex; + mutable std::recursive_mutex appender_list_mutex; // Ctors AppenderAttachableImpl(); diff --git a/src/appenderattachableimpl.cxx b/src/appenderattachableimpl.cxx index 029794ad1..ac99863d0 100644 --- a/src/appenderattachableimpl.cxx +++ b/src/appenderattachableimpl.cxx @@ -70,7 +70,7 @@ AppenderAttachableImpl::addAppender(SharedAppenderPtr newAppender) return; } - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; auto it = std::find(appenderList.begin(), appenderList.end(), newAppender); if (it == appenderList.end()) @@ -84,7 +84,7 @@ AppenderAttachableImpl::addAppender(SharedAppenderPtr newAppender) AppenderAttachableImpl::ListType AppenderAttachableImpl::getAllAppenders() { - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; return appenderList; } @@ -94,7 +94,7 @@ AppenderAttachableImpl::getAllAppenders() SharedAppenderPtr AppenderAttachableImpl::getAppender(const log4cplus::tstring& name) { - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; for (SharedAppenderPtr & ptr : appenderList) { @@ -110,7 +110,7 @@ AppenderAttachableImpl::getAppender(const log4cplus::tstring& name) void AppenderAttachableImpl::removeAllAppenders() { - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; // Clear appenders in specific order because the order of destruction of // std::vector elements is surprisingly unspecified and it breaks our @@ -133,7 +133,7 @@ AppenderAttachableImpl::removeAppender(SharedAppenderPtr appender) return; } - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; auto it = std::find(appenderList.begin(), appenderList.end(), appender); if (it != appenderList.end()) @@ -157,7 +157,7 @@ AppenderAttachableImpl::appendLoopOnAppenders(const spi::InternalLoggingEvent& e { int count = 0; - thread::MutexGuard guard (appender_list_mutex); + std::unique_lock guard {appender_list_mutex}; for (auto & appender : appenderList) { diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index f1b308303..7c4eaa870 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -117,9 +117,7 @@ HierarchyLocker::addAppender(Logger& logger, SharedAppenderPtr& appender) { if (l.value == logger.value) { - logger.value->appender_list_mutex.unlock (); logger.addAppender(appender); - logger.value->appender_list_mutex.lock (); return; } } From 717beda84245b00ad3ee747a41bf653da7a4c14e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 15:36:39 +0100 Subject: [PATCH 226/353] Replace hashtable_mutex with std::recursive_mutex. --- include/log4cplus/hierarchy.h | 2 +- include/log4cplus/hierarchylocker.h | 2 +- src/hierarchy.cxx | 8 ++++---- src/hierarchylocker.cxx | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/log4cplus/hierarchy.h b/include/log4cplus/hierarchy.h index 307616179..b39c923b2 100644 --- a/include/log4cplus/hierarchy.h +++ b/include/log4cplus/hierarchy.h @@ -297,7 +297,7 @@ namespace log4cplus { Logger const & logger); // Data - thread::Mutex hashtable_mutex; + std::recursive_mutex hashtable_mutex; std::unique_ptr defaultFactory; ProvisionNodeMap provisionNodes; LoggerMap loggerPtrs; diff --git a/include/log4cplus/hierarchylocker.h b/include/log4cplus/hierarchylocker.h index 20fa9aae4..79b6ffb24 100644 --- a/include/log4cplus/hierarchylocker.h +++ b/include/log4cplus/hierarchylocker.h @@ -70,7 +70,7 @@ namespace log4cplus private: // Data Hierarchy& h; - log4cplus::thread::MutexGuard hierarchyLocker; + std::unique_lock hierarchyLocker; LoggerList loggerList; }; diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index 75587678c..b3ddc6498 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -90,7 +90,7 @@ Hierarchy::~Hierarchy() void Hierarchy::clear() { - thread::MutexGuard guard (hashtable_mutex); + std::unique_lock guard {hashtable_mutex}; provisionNodes.erase(provisionNodes.begin(), provisionNodes.end()); loggerPtrs.erase(loggerPtrs.begin(), loggerPtrs.end()); @@ -104,7 +104,7 @@ Hierarchy::exists(const tstring_view& name) if (name.empty ()) return true; - thread::MutexGuard guard (hashtable_mutex); + std::unique_lock guard {hashtable_mutex}; auto it = loggerPtrs.find(name); return it != loggerPtrs.end(); @@ -167,7 +167,7 @@ Hierarchy::getInstance(const tstring_view& name) Logger Hierarchy::getInstance(const tstring_view& name, spi::LoggerFactory& factory) { - thread::MutexGuard guard (hashtable_mutex); + std::unique_lock guard {hashtable_mutex}; return getInstanceImpl(name, factory); } @@ -179,7 +179,7 @@ Hierarchy::getCurrentLoggers() LoggerList ret; { - thread::MutexGuard guard (hashtable_mutex); + std::unique_lock guard {hashtable_mutex}; initializeLoggerList(ret); } diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index 7c4eaa870..59d772414 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -35,7 +35,7 @@ namespace log4cplus HierarchyLocker::HierarchyLocker(Hierarchy& _h) : h(_h), - hierarchyLocker(h.hashtable_mutex) + hierarchyLocker{h.hashtable_mutex} { // Get a copy of all of the Hierarchy's Loggers (except the Root Logger) h.initializeLoggerList(loggerList); From 15f1e06463b4ce1a619e697b4c76aafaed997a7a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 15:52:54 +0100 Subject: [PATCH 227/353] Add -Wthread-safety. --- configure | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 3 ++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 53060f127..a44355e08 100755 --- a/configure +++ b/configure @@ -10525,6 +10525,72 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&6; } var=$ax_cv_cxxflags_gcc_option__Wmultistatement_macros +case ".$var" in + .ok|.ok,*) ;; + .|.no|.no,*) ;; + *) + if echo " $CXXFLAGS " | grep " $var " 2>&1 >/dev/null + then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS does contain \$var"; } >&5 + (: CXXFLAGS does contain $var) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$var\""; } >&5 + (: CXXFLAGS="$CXXFLAGS $var") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + CXXFLAGS="$CXXFLAGS $var" + fi + ;; +esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wthread-safety" >&5 +printf %s "checking CXXFLAGS for gcc -Wthread-safety... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wthread_safety+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ax_cv_cxxflags_gcc_option__Wthread_safety="no, unknown" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_save_CXXFLAGS="$CXXFLAGS" +for ac_arg in "-pedantic -Werror % -Wthread-safety" "-pedantic % -Wthread-safety %% no, obsolete" # +do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int zero; +int +main (void) +{ +zero = 0; return zero; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ax_cv_cxxflags_gcc_option__Wthread_safety=`echo $ac_arg | sed -e 's,.*% *,,'`; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +done + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wthread_safety" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wthread_safety" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wthread_safety case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; diff --git a/configure.ac b/configure.ac index 3c43566e8..d4ff7ded6 100644 --- a/configure.ac +++ b/configure.ac @@ -278,7 +278,8 @@ AS_CASE([$ax_cv_cxx_compiler_vendor], AX_CXXFLAGS_GCC_OPTION([-Wno-variadic-macros]) AX_CXXFLAGS_GCC_OPTION([-Wduplicated-branches]) AX_CXXFLAGS_GCC_OPTION([-Wdangling-else]) - AX_CXXFLAGS_GCC_OPTION([-Wmultistatement-macros])]) + AX_CXXFLAGS_GCC_OPTION([-Wmultistatement-macros]) + AX_CXXFLAGS_GCC_OPTION([-Wthread-safety])]) AS_IF([test "x$enable_debugging" = "xyes"], [AX_CXXFLAGS_GCC_OPTION([-g3]) From 7a10a6619f18f075b69b8325ea1a2222832bbb94 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 16:56:39 +0100 Subject: [PATCH 228/353] Replace mutex in ObjectRegistryBase with std::mutex. --- include/log4cplus/spi/objectregistry.h | 6 ++-- src/objectregistry.cxx | 49 ++++++++++++++++++++++---- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/include/log4cplus/spi/objectregistry.h b/include/log4cplus/spi/objectregistry.h index a63cecdd2..5ab775ec8 100644 --- a/include/log4cplus/spi/objectregistry.h +++ b/include/log4cplus/spi/objectregistry.h @@ -95,12 +95,12 @@ namespace log4cplus { typedef std::map ObjectMap; // Data - thread::Mutex mutex; + mutable std::mutex mutex; ObjectMap data; private: - ObjectRegistryBase (ObjectRegistryBase const &); - ObjectRegistryBase & operator = (ObjectRegistryBase const &); + ObjectRegistryBase (ObjectRegistryBase const &) = delete; + ObjectRegistryBase & operator = (ObjectRegistryBase const &) = delete; bool volatile locking; }; diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 2f1f89113..44a7662bf 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -22,6 +22,10 @@ #include #include +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include +#endif + namespace log4cplus::spi { @@ -46,7 +50,7 @@ ObjectRegistryBase::~ObjectRegistryBase() = default; bool ObjectRegistryBase::exists(const tstring& name) const { - thread::MutexGuard guard (mutex); + std::unique_lock guard {mutex}; return data.find(name) != data.end(); } @@ -58,7 +62,7 @@ ObjectRegistryBase::getAllNames() const std::vector tmp; { - thread::MutexGuard guard (mutex); + std::unique_lock guard {mutex}; tmp.reserve (data.size ()); for (auto const & kv : data) tmp.emplace_back(kv.first); @@ -80,9 +84,9 @@ ObjectRegistryBase::putVal(const tstring& name, void* object) std::pair ret; { - thread::MutexGuard guard; + std::unique_lock guard; if (locking) - guard.attach_and_lock (mutex); + guard = std::unique_lock {mutex}; ret = data.insert(std::move (value)); } @@ -97,7 +101,7 @@ ObjectRegistryBase::putVal(const tstring& name, void* object) void* ObjectRegistryBase::getVal(const tstring& name) const { - thread::MutexGuard guard (mutex); + std::unique_lock guard {mutex}; auto it (data.find (name)); if (it != data.end ()) @@ -112,7 +116,7 @@ ObjectRegistryBase::getVal(const tstring& name) const void ObjectRegistryBase::clear() { - thread::MutexGuard guard (mutex); + std::unique_lock guard {mutex}; for (auto const & kv : data) deleteObject (kv.second); @@ -126,4 +130,37 @@ ObjectRegistryBase::_enableLocking (bool enable) } +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +CATCH_TEST_CASE ("ObjectRegistryBase") +{ + + class TestObjectRegistry : public ObjectRegistryBase + { + public: + using ObjectRegistryBase::putVal; + using ObjectRegistryBase::getVal; + using ObjectRegistryBase::clear; + + virtual void deleteObject(void *object) const + { + delete static_cast(object); + } + }; + + CATCH_SECTION ("put-get") + { + TestObjectRegistry reg; + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("doesnotexist")) == nullptr); + std::string * const str = new std::string ("test"); + CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("a"), str)); + CATCH_REQUIRE (!reg.putVal (LOG4CPLUS_TEXT ("a"), str)); + std::string * str2 = new std::string ("test2"); + CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("b"), str2)); + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("a")) == str); + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("b")) == str2); + } + +} +#endif // defined (LOG4CPLUS_WITH_UNIT_TESTS) + } // namespace log4cplus::spi From 8a89a07816500e42bde021791dd8e6a1fbeda837 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 17:43:13 +0100 Subject: [PATCH 229/353] Replace access_mutex with std::recursive_mutex. --- include/log4cplus/helpers/connectorthread.h | 16 ++++++++-------- include/log4cplus/helpers/pointer.h | 2 +- include/log4cplus/socketappender.h | 2 +- include/log4cplus/syslogappender.h | 2 +- src/appender.cxx | 14 +++++++------- src/connectorthread.cxx | 10 +++++----- src/fileappender.cxx | 2 +- src/socketappender.cxx | 2 +- src/syslogappender.cxx | 4 ++-- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/include/log4cplus/helpers/connectorthread.h b/include/log4cplus/helpers/connectorthread.h index 6df3ce52e..5c516e3f7 100644 --- a/include/log4cplus/helpers/connectorthread.h +++ b/include/log4cplus/helpers/connectorthread.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2013-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -51,7 +51,7 @@ class LOG4CPLUS_EXPORT IConnectorThreadClient //! \return Mutex for synchronization between ConnectorThread and //! its client object. This is usually SharedObject::access_mutex. - virtual thread::Mutex const & ctcGetAccessMutex () const = 0; + virtual std::recursive_mutex & ctcGetAccessMutex () const = 0; //! \return Socket variable in ConnectorThread client to maintain. virtual helpers::Socket & ctcGetSocket () = 0; @@ -76,7 +76,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! \param client reference to ConnectorThread's client object ConnectorThread (IConnectorThreadClient & client); virtual ~ConnectorThread (); - + virtual void run(); //! Call this function to terminate ConnectorThread. The function @@ -87,7 +87,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This function triggers (`trigger_ev`) connection check and //! attempt to re-connect a broken connection, when necessary. void trigger (); - + protected: //! reference to ConnectorThread's client IConnectorThreadClient & ctc; @@ -95,7 +95,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This event is the re-connection trigger. thread::ManualResetEvent trigger_ev; - //! When this variable set to true when ConnectorThread is signaled to + //! When this variable set to true when ConnectorThread is signaled to bool exit_flag; }; diff --git a/include/log4cplus/helpers/pointer.h b/include/log4cplus/helpers/pointer.h index d9ccfd47a..744d22695 100644 --- a/include/log4cplus/helpers/pointer.h +++ b/include/log4cplus/helpers/pointer.h @@ -81,7 +81,7 @@ namespace log4cplus { SharedObject& operator=(SharedObject &&) LOG4CPLUS_NOEXCEPT { return *this; } public: - thread::Mutex access_mutex; + mutable std::recursive_mutex access_mutex; private: #if defined (LOG4CPLUS_SINGLE_THREADED) diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index f0dd564a8..299efb06f 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -134,7 +134,7 @@ namespace log4cplus bool ipv6 = false; #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual thread::Mutex const & ctcGetAccessMutex () const; + virtual std::recursive_mutex & ctcGetAccessMutex () const; virtual helpers::Socket & ctcGetSocket (); virtual helpers::Socket ctcConnect (); virtual void ctcSetConnected (); diff --git a/include/log4cplus/syslogappender.h b/include/log4cplus/syslogappender.h index 4f9276442..4c769d1b3 100644 --- a/include/log4cplus/syslogappender.h +++ b/include/log4cplus/syslogappender.h @@ -141,7 +141,7 @@ namespace log4cplus void openSocket (); #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual thread::Mutex const & ctcGetAccessMutex () const; + virtual std::recursive_mutex & ctcGetAccessMutex () const; virtual helpers::Socket & ctcGetSocket (); virtual helpers::Socket ctcConnect (); virtual void ctcSetConnected (); diff --git a/src/appender.cxx b/src/appender.cxx index 971cc3411..e886b91c2 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -347,7 +347,7 @@ Appender::asyncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) void Appender::syncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; if(closed) { helpers::getLogLog().error( @@ -434,7 +434,7 @@ Appender::setErrorHandler(std::unique_ptr eh) return; } - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; this->errorHandler = std::move(eh); } @@ -444,7 +444,7 @@ Appender::setErrorHandler(std::unique_ptr eh) void Appender::setLayout(std::unique_ptr lo) { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; this->layout = std::move(lo); } @@ -454,7 +454,7 @@ Appender::setLayout(std::unique_ptr lo) Layout* Appender::getLayout() { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; return layout.get(); } @@ -463,7 +463,7 @@ Appender::getLayout() void Appender::setFilter(log4cplus::spi::FilterPtr f) { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; filter = std::move (f); } @@ -472,7 +472,7 @@ Appender::setFilter(log4cplus::spi::FilterPtr f) log4cplus::spi::FilterPtr Appender::getFilter() const { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; return filter; } @@ -481,7 +481,7 @@ Appender::getFilter() const void Appender::addFilter (log4cplus::spi::FilterPtr f) { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; log4cplus::spi::FilterPtr filterChain = getFilter (); if (filterChain) diff --git a/src/connectorthread.cxx b/src/connectorthread.cxx index 64a3bf28c..fa313631b 100644 --- a/src/connectorthread.cxx +++ b/src/connectorthread.cxx @@ -59,7 +59,7 @@ ConnectorThread::run () // Check exit condition as the very first thing. { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; if (exit_flag) return; trigger_ev.reset (); @@ -68,9 +68,9 @@ ConnectorThread::run () // Do not try to re-open already open socket. helpers::Socket & client_socket = ctc.ctcGetSocket (); - thread::Mutex const & client_access_mutex = ctc.ctcGetAccessMutex (); + std::recursive_mutex & client_access_mutex = ctc.ctcGetAccessMutex (); { - thread::MutexGuard guard (client_access_mutex); + std::lock_guard guard {client_access_mutex}; if (client_socket.isOpen ()) continue; } @@ -95,7 +95,7 @@ ConnectorThread::run () // Connection was successful, move the socket into client. { - thread::MutexGuard guard (client_access_mutex); + std::lock_guard guard {client_access_mutex}; client_socket = std::move (new_socket); ctc.ctcSetConnected (); } @@ -107,7 +107,7 @@ void ConnectorThread::terminate () { { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; exit_flag = true; trigger_ev.signal (); } diff --git a/src/fileappender.cxx b/src/fileappender.cxx index d18473dd5..9421c0e34 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -289,7 +289,7 @@ FileAppenderBase::init() void FileAppenderBase::close() { - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; out.close(); buffer.reset (); diff --git a/src/socketappender.cxx b/src/socketappender.cxx index 5cdafd452..43db28272 100644 --- a/src/socketappender.cxx +++ b/src/socketappender.cxx @@ -170,7 +170,7 @@ SocketAppender::append(const spi::InternalLoggingEvent& event) #if ! defined (LOG4CPLUS_SINGLE_THREADED) -thread::Mutex const & +std::recursive_mutex & SocketAppender::ctcGetAccessMutex () const { return access_mutex; diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index efa0b95c5..29e039ebd 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -336,7 +336,7 @@ SysLogAppender::close() { helpers::getLogLog().debug( LOG4CPLUS_TEXT("Entering SysLogAppender::close()...")); - thread::MutexGuard guard (access_mutex); + std::lock_guard guard {access_mutex}; if (host.empty ()) { @@ -495,7 +495,7 @@ SysLogAppender::appendRemote(const spi::InternalLoggingEvent& event) #if ! defined (LOG4CPLUS_SINGLE_THREADED) -thread::Mutex const & +std::recursive_mutex & SysLogAppender::ctcGetAccessMutex () const { return access_mutex; From 4e16bb6315c37d1773be2b490a3dcaa0c71ef982 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 17:56:00 +0100 Subject: [PATCH 230/353] Replace loglog mutex with std::mutex. --- include/log4cplus/helpers/loglog.h | 4 ++-- src/loglog.cxx | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/log4cplus/helpers/loglog.h b/include/log4cplus/helpers/loglog.h index 4f92ef835..7c68c8ba2 100644 --- a/include/log4cplus/helpers/loglog.h +++ b/include/log4cplus/helpers/loglog.h @@ -70,7 +70,7 @@ namespace log4cplus { /** * In quite mode no LogLog generates strictly no output, not even - * for errors. + * for errors. * * @param quietMode A true for not */ @@ -129,7 +129,7 @@ namespace log4cplus { // Data mutable TriState debugEnabled; mutable TriState quietMode; - thread::Mutex mutex; + mutable std::mutex mutex; LOG4CPLUS_PRIVATE LogLog(const LogLog&); LOG4CPLUS_PRIVATE LogLog & operator = (LogLog const &); diff --git a/src/loglog.cxx b/src/loglog.cxx index b1b1dae1c..feb306277 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -60,7 +60,7 @@ LogLog::~LogLog() = default; void LogLog::setInternalDebugging(bool enabled) { - thread::MutexGuard guard (mutex); + std::lock_guard guard {mutex}; debugEnabled = enabled ? TriTrue : TriFalse; } @@ -69,7 +69,7 @@ LogLog::setInternalDebugging(bool enabled) void LogLog::setQuietMode(bool quietModeVal) { - thread::MutexGuard guard (mutex); + std::lock_guard guard {mutex}; quietMode = quietModeVal ? TriTrue : TriFalse; } @@ -168,7 +168,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, { bool output; { - thread::MutexGuard guard (mutex); + std::lock_guard guard {mutex}; output = (this->*cond) (); } From d875ddf97d5493e7403ae675701dc26d7c3e5bfe Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 18:02:41 +0100 Subject: [PATCH 231/353] Replace console_mutex with std::recursive_mutex. --- include/log4cplus/consoleappender.h | 8 ++++---- src/consoleappender.cxx | 8 ++++---- src/global-init.cxx | 4 ++-- src/loglog.cxx | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/log4cplus/consoleappender.h b/include/log4cplus/consoleappender.h index 3da24c817..f3a0049ef 100644 --- a/include/log4cplus/consoleappender.h +++ b/include/log4cplus/consoleappender.h @@ -48,7 +48,7 @@ namespace log4cplus { *
ImmediateFlush
*
When it is set true, output stream will be flushed after * each appended event.
- * + * *
Locale
*
This property specifies a locale name that will be imbued * into output stream. Locale can be specified either by system @@ -61,11 +61,11 @@ namespace log4cplus { * spi::LocaleFactory in * spi::LocaleFactoryRegistry. * \sa spi::getLocaleFactoryRegistry(). - * + * * Note: if Locale is set, ImmediateFlush will * be set to true automatically. *
- * + * * * \sa Appender */ @@ -83,7 +83,7 @@ namespace log4cplus { //! This mutex is used by ConsoleAppender and helpers::LogLog //! classes to synchronize output to console. - static log4cplus::thread::Mutex const & getOutputMutex(); + static std::recursive_mutex & getOutputMutex(); protected: virtual void append(const spi::InternalLoggingEvent& event); diff --git a/src/consoleappender.cxx b/src/consoleappender.cxx index a0cf25259..d132d587b 100644 --- a/src/consoleappender.cxx +++ b/src/consoleappender.cxx @@ -37,12 +37,12 @@ namespace log4cplus namespace helpers { -extern log4cplus::thread::Mutex const & getConsoleOutputMutex (); +extern std::recursive_mutex & getConsoleOutputMutex (); } // namespace helpers -log4cplus::thread::Mutex const & +std::recursive_mutex & ConsoleAppender::getOutputMutex () { return helpers::getConsoleOutputMutex (); @@ -93,7 +93,7 @@ ConsoleAppender::~ConsoleAppender() // ConsoleAppender public methods ////////////////////////////////////////////////////////////////////////////// -void +void ConsoleAppender::close() { helpers::getLogLog().debug( @@ -110,7 +110,7 @@ ConsoleAppender::close() void ConsoleAppender::append(const spi::InternalLoggingEvent& event) { - thread::MutexGuard guard (getOutputMutex ()); + std::lock_guard guard {getOutputMutex ()}; tostream& output = (logToStdErr ? tcerr : tcout); diff --git a/src/global-init.cxx b/src/global-init.cxx index 8c180cff6..808c9e509 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -168,7 +168,7 @@ struct ThreadPoolHolder //! Default context. struct DefaultContext { - log4cplus::thread::Mutex console_mutex; + std::recursive_mutex console_mutex; helpers::LogLog loglog; LogLevelManager log_level_manager; internal::CustomLogLevelManager custom_log_level_manager; @@ -306,7 +306,7 @@ namespace helpers { -log4cplus::thread::Mutex const & +std::recursive_mutex & getConsoleOutputMutex () { return get_dc ()->console_mutex; diff --git a/src/loglog.cxx b/src/loglog.cxx index feb306277..80f3bfb03 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -176,7 +176,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, { // XXX This is potential recursive lock of // ConsoleAppender::outputMutex. - thread::MutexGuard outputGuard (ConsoleAppender::getOutputMutex ()); + std::lock_guard outputGuard {ConsoleAppender::getOutputMutex ()}; os << prefix << msg << std::endl; } From 3d5c8579548e2d64ecb1b207bdcc9fcc7b9a4417 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 18:06:13 +0100 Subject: [PATCH 232/353] Use std::recursive_mutex in loggingserver. --- simpleserver/loggingserver.cxx | 12 ++++++------ tests/thread_test/main.cxx | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/simpleserver/loggingserver.cxx b/simpleserver/loggingserver.cxx index 55e60737d..07878ce90 100644 --- a/simpleserver/loggingserver.cxx +++ b/simpleserver/loggingserver.cxx @@ -41,7 +41,7 @@ class ReaperThread : public log4cplus::thread::AbstractThread { public: - ReaperThread (log4cplus::thread::Mutex & mtx_, + ReaperThread (std::recursive_mutex & mtx_, log4cplus::thread::ManualResetEvent & ev_, ThreadQueueType & queue_) : mtx (mtx_) @@ -59,7 +59,7 @@ class ReaperThread void signal_exit (); private: - log4cplus::thread::Mutex & mtx; + std::recursive_mutex & mtx; log4cplus::thread::ManualResetEvent & ev; ThreadQueueType & queue; bool stop; @@ -72,7 +72,7 @@ typedef log4cplus::helpers::SharedObjectPtr ReaperThreadPtr; void ReaperThread::signal_exit () { - log4cplus::thread::MutexGuard guard (mtx); + std::lock_guard guard {mtx}; stop = true; ev.signal (); } @@ -88,7 +88,7 @@ ReaperThread::run () ev.timed_wait (30 * 1000); { - log4cplus::thread::MutexGuard guard (mtx); + std::lock_guard guard {mtx}; // Check exit condition as the very first thing. if (stop) @@ -141,7 +141,7 @@ class Reaper void visit (log4cplus::thread::AbstractThreadPtr const & thread_ptr); private: - log4cplus::thread::Mutex mtx; + std::recursive_mutex mtx; log4cplus::thread::ManualResetEvent ev; ThreadQueueType queue; ReaperThreadPtr reaper_thread; @@ -151,7 +151,7 @@ class Reaper void Reaper::visit (log4cplus::thread::AbstractThreadPtr const & thread_ptr) { - log4cplus::thread::MutexGuard guard (mtx); + std::lock_guard guard {mtx}; queue.push_back (thread_ptr); ev.signal (); } diff --git a/tests/thread_test/main.cxx b/tests/thread_test/main.cxx index 4db9cd4ab..4e41ce7ab 100644 --- a/tests/thread_test/main.cxx +++ b/tests/thread_test/main.cxx @@ -37,7 +37,7 @@ class SlowObject { LOG4CPLUS_TRACE_METHOD(logger, LOG4CPLUS_TEXT("SlowObject::doSomething()")); { - log4cplus::thread::MutexGuard guard (mutex); + std::lock_guard guard {mutex}; LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("Actually doing something...")); std::this_thread::sleep_for (std::chrono::milliseconds (75)); LOG4CPLUS_INFO_FMT(logger, @@ -52,7 +52,7 @@ class SlowObject { } private: - log4cplus::thread::Mutex mutex; + std::recursive_mutex mutex; Logger logger; }; From 8bcf3a3fe1c29b45902477c35392772bb911887d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 18:38:28 +0100 Subject: [PATCH 233/353] Revert commits changing log4cplus mutexes to standard C++ mutexes. --- include/log4cplus/consoleappender.h | 8 +-- .../helpers/appenderattachableimpl.h | 2 +- include/log4cplus/helpers/connectorthread.h | 16 +++--- include/log4cplus/helpers/loglog.h | 4 +- include/log4cplus/helpers/pointer.h | 2 +- include/log4cplus/hierarchy.h | 2 +- include/log4cplus/hierarchylocker.h | 2 +- include/log4cplus/socketappender.h | 2 +- include/log4cplus/spi/objectregistry.h | 6 +-- include/log4cplus/syslogappender.h | 2 +- src/appender.cxx | 14 +++--- src/appenderattachableimpl.cxx | 12 ++--- src/connectorthread.cxx | 10 ++-- src/consoleappender.cxx | 8 +-- src/fileappender.cxx | 2 +- src/global-init.cxx | 4 +- src/hierarchy.cxx | 8 +-- src/hierarchylocker.cxx | 4 +- src/loglog.cxx | 8 +-- src/objectregistry.cxx | 49 +++---------------- src/socketappender.cxx | 2 +- src/syslogappender.cxx | 4 +- 22 files changed, 68 insertions(+), 103 deletions(-) diff --git a/include/log4cplus/consoleappender.h b/include/log4cplus/consoleappender.h index f3a0049ef..3da24c817 100644 --- a/include/log4cplus/consoleappender.h +++ b/include/log4cplus/consoleappender.h @@ -48,7 +48,7 @@ namespace log4cplus { *
ImmediateFlush
*
When it is set true, output stream will be flushed after * each appended event.
- * + * *
Locale
*
This property specifies a locale name that will be imbued * into output stream. Locale can be specified either by system @@ -61,11 +61,11 @@ namespace log4cplus { * spi::LocaleFactory in * spi::LocaleFactoryRegistry. * \sa spi::getLocaleFactoryRegistry(). - * + * * Note: if Locale is set, ImmediateFlush will * be set to true automatically. *
- * + * * * \sa Appender */ @@ -83,7 +83,7 @@ namespace log4cplus { //! This mutex is used by ConsoleAppender and helpers::LogLog //! classes to synchronize output to console. - static std::recursive_mutex & getOutputMutex(); + static log4cplus::thread::Mutex const & getOutputMutex(); protected: virtual void append(const spi::InternalLoggingEvent& event); diff --git a/include/log4cplus/helpers/appenderattachableimpl.h b/include/log4cplus/helpers/appenderattachableimpl.h index c3ccb35d7..ee3903b6a 100644 --- a/include/log4cplus/helpers/appenderattachableimpl.h +++ b/include/log4cplus/helpers/appenderattachableimpl.h @@ -50,7 +50,7 @@ namespace log4cplus { { public: // Data - mutable std::recursive_mutex appender_list_mutex; + thread::Mutex appender_list_mutex; // Ctors AppenderAttachableImpl(); diff --git a/include/log4cplus/helpers/connectorthread.h b/include/log4cplus/helpers/connectorthread.h index 5c516e3f7..6df3ce52e 100644 --- a/include/log4cplus/helpers/connectorthread.h +++ b/include/log4cplus/helpers/connectorthread.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2013-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -51,7 +51,7 @@ class LOG4CPLUS_EXPORT IConnectorThreadClient //! \return Mutex for synchronization between ConnectorThread and //! its client object. This is usually SharedObject::access_mutex. - virtual std::recursive_mutex & ctcGetAccessMutex () const = 0; + virtual thread::Mutex const & ctcGetAccessMutex () const = 0; //! \return Socket variable in ConnectorThread client to maintain. virtual helpers::Socket & ctcGetSocket () = 0; @@ -76,7 +76,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! \param client reference to ConnectorThread's client object ConnectorThread (IConnectorThreadClient & client); virtual ~ConnectorThread (); - + virtual void run(); //! Call this function to terminate ConnectorThread. The function @@ -87,7 +87,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This function triggers (`trigger_ev`) connection check and //! attempt to re-connect a broken connection, when necessary. void trigger (); - + protected: //! reference to ConnectorThread's client IConnectorThreadClient & ctc; @@ -95,7 +95,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This event is the re-connection trigger. thread::ManualResetEvent trigger_ev; - //! When this variable set to true when ConnectorThread is signaled to + //! When this variable set to true when ConnectorThread is signaled to bool exit_flag; }; diff --git a/include/log4cplus/helpers/loglog.h b/include/log4cplus/helpers/loglog.h index 7c68c8ba2..4f92ef835 100644 --- a/include/log4cplus/helpers/loglog.h +++ b/include/log4cplus/helpers/loglog.h @@ -70,7 +70,7 @@ namespace log4cplus { /** * In quite mode no LogLog generates strictly no output, not even - * for errors. + * for errors. * * @param quietMode A true for not */ @@ -129,7 +129,7 @@ namespace log4cplus { // Data mutable TriState debugEnabled; mutable TriState quietMode; - mutable std::mutex mutex; + thread::Mutex mutex; LOG4CPLUS_PRIVATE LogLog(const LogLog&); LOG4CPLUS_PRIVATE LogLog & operator = (LogLog const &); diff --git a/include/log4cplus/helpers/pointer.h b/include/log4cplus/helpers/pointer.h index 744d22695..d9ccfd47a 100644 --- a/include/log4cplus/helpers/pointer.h +++ b/include/log4cplus/helpers/pointer.h @@ -81,7 +81,7 @@ namespace log4cplus { SharedObject& operator=(SharedObject &&) LOG4CPLUS_NOEXCEPT { return *this; } public: - mutable std::recursive_mutex access_mutex; + thread::Mutex access_mutex; private: #if defined (LOG4CPLUS_SINGLE_THREADED) diff --git a/include/log4cplus/hierarchy.h b/include/log4cplus/hierarchy.h index b39c923b2..307616179 100644 --- a/include/log4cplus/hierarchy.h +++ b/include/log4cplus/hierarchy.h @@ -297,7 +297,7 @@ namespace log4cplus { Logger const & logger); // Data - std::recursive_mutex hashtable_mutex; + thread::Mutex hashtable_mutex; std::unique_ptr defaultFactory; ProvisionNodeMap provisionNodes; LoggerMap loggerPtrs; diff --git a/include/log4cplus/hierarchylocker.h b/include/log4cplus/hierarchylocker.h index 79b6ffb24..20fa9aae4 100644 --- a/include/log4cplus/hierarchylocker.h +++ b/include/log4cplus/hierarchylocker.h @@ -70,7 +70,7 @@ namespace log4cplus private: // Data Hierarchy& h; - std::unique_lock hierarchyLocker; + log4cplus::thread::MutexGuard hierarchyLocker; LoggerList loggerList; }; diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index 299efb06f..f0dd564a8 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -134,7 +134,7 @@ namespace log4cplus bool ipv6 = false; #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual std::recursive_mutex & ctcGetAccessMutex () const; + virtual thread::Mutex const & ctcGetAccessMutex () const; virtual helpers::Socket & ctcGetSocket (); virtual helpers::Socket ctcConnect (); virtual void ctcSetConnected (); diff --git a/include/log4cplus/spi/objectregistry.h b/include/log4cplus/spi/objectregistry.h index 5ab775ec8..a63cecdd2 100644 --- a/include/log4cplus/spi/objectregistry.h +++ b/include/log4cplus/spi/objectregistry.h @@ -95,12 +95,12 @@ namespace log4cplus { typedef std::map ObjectMap; // Data - mutable std::mutex mutex; + thread::Mutex mutex; ObjectMap data; private: - ObjectRegistryBase (ObjectRegistryBase const &) = delete; - ObjectRegistryBase & operator = (ObjectRegistryBase const &) = delete; + ObjectRegistryBase (ObjectRegistryBase const &); + ObjectRegistryBase & operator = (ObjectRegistryBase const &); bool volatile locking; }; diff --git a/include/log4cplus/syslogappender.h b/include/log4cplus/syslogappender.h index 4c769d1b3..4f9276442 100644 --- a/include/log4cplus/syslogappender.h +++ b/include/log4cplus/syslogappender.h @@ -141,7 +141,7 @@ namespace log4cplus void openSocket (); #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual std::recursive_mutex & ctcGetAccessMutex () const; + virtual thread::Mutex const & ctcGetAccessMutex () const; virtual helpers::Socket & ctcGetSocket (); virtual helpers::Socket ctcConnect (); virtual void ctcSetConnected (); diff --git a/src/appender.cxx b/src/appender.cxx index e886b91c2..971cc3411 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -347,7 +347,7 @@ Appender::asyncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) void Appender::syncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); if(closed) { helpers::getLogLog().error( @@ -434,7 +434,7 @@ Appender::setErrorHandler(std::unique_ptr eh) return; } - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); this->errorHandler = std::move(eh); } @@ -444,7 +444,7 @@ Appender::setErrorHandler(std::unique_ptr eh) void Appender::setLayout(std::unique_ptr lo) { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); this->layout = std::move(lo); } @@ -454,7 +454,7 @@ Appender::setLayout(std::unique_ptr lo) Layout* Appender::getLayout() { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); return layout.get(); } @@ -463,7 +463,7 @@ Appender::getLayout() void Appender::setFilter(log4cplus::spi::FilterPtr f) { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); filter = std::move (f); } @@ -472,7 +472,7 @@ Appender::setFilter(log4cplus::spi::FilterPtr f) log4cplus::spi::FilterPtr Appender::getFilter() const { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); return filter; } @@ -481,7 +481,7 @@ Appender::getFilter() const void Appender::addFilter (log4cplus::spi::FilterPtr f) { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); log4cplus::spi::FilterPtr filterChain = getFilter (); if (filterChain) diff --git a/src/appenderattachableimpl.cxx b/src/appenderattachableimpl.cxx index ac99863d0..029794ad1 100644 --- a/src/appenderattachableimpl.cxx +++ b/src/appenderattachableimpl.cxx @@ -70,7 +70,7 @@ AppenderAttachableImpl::addAppender(SharedAppenderPtr newAppender) return; } - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); auto it = std::find(appenderList.begin(), appenderList.end(), newAppender); if (it == appenderList.end()) @@ -84,7 +84,7 @@ AppenderAttachableImpl::addAppender(SharedAppenderPtr newAppender) AppenderAttachableImpl::ListType AppenderAttachableImpl::getAllAppenders() { - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); return appenderList; } @@ -94,7 +94,7 @@ AppenderAttachableImpl::getAllAppenders() SharedAppenderPtr AppenderAttachableImpl::getAppender(const log4cplus::tstring& name) { - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); for (SharedAppenderPtr & ptr : appenderList) { @@ -110,7 +110,7 @@ AppenderAttachableImpl::getAppender(const log4cplus::tstring& name) void AppenderAttachableImpl::removeAllAppenders() { - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); // Clear appenders in specific order because the order of destruction of // std::vector elements is surprisingly unspecified and it breaks our @@ -133,7 +133,7 @@ AppenderAttachableImpl::removeAppender(SharedAppenderPtr appender) return; } - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); auto it = std::find(appenderList.begin(), appenderList.end(), appender); if (it != appenderList.end()) @@ -157,7 +157,7 @@ AppenderAttachableImpl::appendLoopOnAppenders(const spi::InternalLoggingEvent& e { int count = 0; - std::unique_lock guard {appender_list_mutex}; + thread::MutexGuard guard (appender_list_mutex); for (auto & appender : appenderList) { diff --git a/src/connectorthread.cxx b/src/connectorthread.cxx index fa313631b..64a3bf28c 100644 --- a/src/connectorthread.cxx +++ b/src/connectorthread.cxx @@ -59,7 +59,7 @@ ConnectorThread::run () // Check exit condition as the very first thing. { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); if (exit_flag) return; trigger_ev.reset (); @@ -68,9 +68,9 @@ ConnectorThread::run () // Do not try to re-open already open socket. helpers::Socket & client_socket = ctc.ctcGetSocket (); - std::recursive_mutex & client_access_mutex = ctc.ctcGetAccessMutex (); + thread::Mutex const & client_access_mutex = ctc.ctcGetAccessMutex (); { - std::lock_guard guard {client_access_mutex}; + thread::MutexGuard guard (client_access_mutex); if (client_socket.isOpen ()) continue; } @@ -95,7 +95,7 @@ ConnectorThread::run () // Connection was successful, move the socket into client. { - std::lock_guard guard {client_access_mutex}; + thread::MutexGuard guard (client_access_mutex); client_socket = std::move (new_socket); ctc.ctcSetConnected (); } @@ -107,7 +107,7 @@ void ConnectorThread::terminate () { { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); exit_flag = true; trigger_ev.signal (); } diff --git a/src/consoleappender.cxx b/src/consoleappender.cxx index d132d587b..a0cf25259 100644 --- a/src/consoleappender.cxx +++ b/src/consoleappender.cxx @@ -37,12 +37,12 @@ namespace log4cplus namespace helpers { -extern std::recursive_mutex & getConsoleOutputMutex (); +extern log4cplus::thread::Mutex const & getConsoleOutputMutex (); } // namespace helpers -std::recursive_mutex & +log4cplus::thread::Mutex const & ConsoleAppender::getOutputMutex () { return helpers::getConsoleOutputMutex (); @@ -93,7 +93,7 @@ ConsoleAppender::~ConsoleAppender() // ConsoleAppender public methods ////////////////////////////////////////////////////////////////////////////// -void +void ConsoleAppender::close() { helpers::getLogLog().debug( @@ -110,7 +110,7 @@ ConsoleAppender::close() void ConsoleAppender::append(const spi::InternalLoggingEvent& event) { - std::lock_guard guard {getOutputMutex ()}; + thread::MutexGuard guard (getOutputMutex ()); tostream& output = (logToStdErr ? tcerr : tcout); diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 9421c0e34..d18473dd5 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -289,7 +289,7 @@ FileAppenderBase::init() void FileAppenderBase::close() { - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); out.close(); buffer.reset (); diff --git a/src/global-init.cxx b/src/global-init.cxx index 808c9e509..8c180cff6 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -168,7 +168,7 @@ struct ThreadPoolHolder //! Default context. struct DefaultContext { - std::recursive_mutex console_mutex; + log4cplus::thread::Mutex console_mutex; helpers::LogLog loglog; LogLevelManager log_level_manager; internal::CustomLogLevelManager custom_log_level_manager; @@ -306,7 +306,7 @@ namespace helpers { -std::recursive_mutex & +log4cplus::thread::Mutex const & getConsoleOutputMutex () { return get_dc ()->console_mutex; diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index b3ddc6498..75587678c 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -90,7 +90,7 @@ Hierarchy::~Hierarchy() void Hierarchy::clear() { - std::unique_lock guard {hashtable_mutex}; + thread::MutexGuard guard (hashtable_mutex); provisionNodes.erase(provisionNodes.begin(), provisionNodes.end()); loggerPtrs.erase(loggerPtrs.begin(), loggerPtrs.end()); @@ -104,7 +104,7 @@ Hierarchy::exists(const tstring_view& name) if (name.empty ()) return true; - std::unique_lock guard {hashtable_mutex}; + thread::MutexGuard guard (hashtable_mutex); auto it = loggerPtrs.find(name); return it != loggerPtrs.end(); @@ -167,7 +167,7 @@ Hierarchy::getInstance(const tstring_view& name) Logger Hierarchy::getInstance(const tstring_view& name, spi::LoggerFactory& factory) { - std::unique_lock guard {hashtable_mutex}; + thread::MutexGuard guard (hashtable_mutex); return getInstanceImpl(name, factory); } @@ -179,7 +179,7 @@ Hierarchy::getCurrentLoggers() LoggerList ret; { - std::unique_lock guard {hashtable_mutex}; + thread::MutexGuard guard (hashtable_mutex); initializeLoggerList(ret); } diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index 59d772414..f1b308303 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -35,7 +35,7 @@ namespace log4cplus HierarchyLocker::HierarchyLocker(Hierarchy& _h) : h(_h), - hierarchyLocker{h.hashtable_mutex} + hierarchyLocker(h.hashtable_mutex) { // Get a copy of all of the Hierarchy's Loggers (except the Root Logger) h.initializeLoggerList(loggerList); @@ -117,7 +117,9 @@ HierarchyLocker::addAppender(Logger& logger, SharedAppenderPtr& appender) { if (l.value == logger.value) { + logger.value->appender_list_mutex.unlock (); logger.addAppender(appender); + logger.value->appender_list_mutex.lock (); return; } } diff --git a/src/loglog.cxx b/src/loglog.cxx index 80f3bfb03..b1b1dae1c 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -60,7 +60,7 @@ LogLog::~LogLog() = default; void LogLog::setInternalDebugging(bool enabled) { - std::lock_guard guard {mutex}; + thread::MutexGuard guard (mutex); debugEnabled = enabled ? TriTrue : TriFalse; } @@ -69,7 +69,7 @@ LogLog::setInternalDebugging(bool enabled) void LogLog::setQuietMode(bool quietModeVal) { - std::lock_guard guard {mutex}; + thread::MutexGuard guard (mutex); quietMode = quietModeVal ? TriTrue : TriFalse; } @@ -168,7 +168,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, { bool output; { - std::lock_guard guard {mutex}; + thread::MutexGuard guard (mutex); output = (this->*cond) (); } @@ -176,7 +176,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, { // XXX This is potential recursive lock of // ConsoleAppender::outputMutex. - std::lock_guard outputGuard {ConsoleAppender::getOutputMutex ()}; + thread::MutexGuard outputGuard (ConsoleAppender::getOutputMutex ()); os << prefix << msg << std::endl; } diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 44a7662bf..2f1f89113 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -22,10 +22,6 @@ #include #include -#if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include -#endif - namespace log4cplus::spi { @@ -50,7 +46,7 @@ ObjectRegistryBase::~ObjectRegistryBase() = default; bool ObjectRegistryBase::exists(const tstring& name) const { - std::unique_lock guard {mutex}; + thread::MutexGuard guard (mutex); return data.find(name) != data.end(); } @@ -62,7 +58,7 @@ ObjectRegistryBase::getAllNames() const std::vector tmp; { - std::unique_lock guard {mutex}; + thread::MutexGuard guard (mutex); tmp.reserve (data.size ()); for (auto const & kv : data) tmp.emplace_back(kv.first); @@ -84,9 +80,9 @@ ObjectRegistryBase::putVal(const tstring& name, void* object) std::pair ret; { - std::unique_lock guard; + thread::MutexGuard guard; if (locking) - guard = std::unique_lock {mutex}; + guard.attach_and_lock (mutex); ret = data.insert(std::move (value)); } @@ -101,7 +97,7 @@ ObjectRegistryBase::putVal(const tstring& name, void* object) void* ObjectRegistryBase::getVal(const tstring& name) const { - std::unique_lock guard {mutex}; + thread::MutexGuard guard (mutex); auto it (data.find (name)); if (it != data.end ()) @@ -116,7 +112,7 @@ ObjectRegistryBase::getVal(const tstring& name) const void ObjectRegistryBase::clear() { - std::unique_lock guard {mutex}; + thread::MutexGuard guard (mutex); for (auto const & kv : data) deleteObject (kv.second); @@ -130,37 +126,4 @@ ObjectRegistryBase::_enableLocking (bool enable) } -#if defined (LOG4CPLUS_WITH_UNIT_TESTS) -CATCH_TEST_CASE ("ObjectRegistryBase") -{ - - class TestObjectRegistry : public ObjectRegistryBase - { - public: - using ObjectRegistryBase::putVal; - using ObjectRegistryBase::getVal; - using ObjectRegistryBase::clear; - - virtual void deleteObject(void *object) const - { - delete static_cast(object); - } - }; - - CATCH_SECTION ("put-get") - { - TestObjectRegistry reg; - CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("doesnotexist")) == nullptr); - std::string * const str = new std::string ("test"); - CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("a"), str)); - CATCH_REQUIRE (!reg.putVal (LOG4CPLUS_TEXT ("a"), str)); - std::string * str2 = new std::string ("test2"); - CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("b"), str2)); - CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("a")) == str); - CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("b")) == str2); - } - -} -#endif // defined (LOG4CPLUS_WITH_UNIT_TESTS) - } // namespace log4cplus::spi diff --git a/src/socketappender.cxx b/src/socketappender.cxx index 43db28272..5cdafd452 100644 --- a/src/socketappender.cxx +++ b/src/socketappender.cxx @@ -170,7 +170,7 @@ SocketAppender::append(const spi::InternalLoggingEvent& event) #if ! defined (LOG4CPLUS_SINGLE_THREADED) -std::recursive_mutex & +thread::Mutex const & SocketAppender::ctcGetAccessMutex () const { return access_mutex; diff --git a/src/syslogappender.cxx b/src/syslogappender.cxx index 29e039ebd..efa0b95c5 100644 --- a/src/syslogappender.cxx +++ b/src/syslogappender.cxx @@ -336,7 +336,7 @@ SysLogAppender::close() { helpers::getLogLog().debug( LOG4CPLUS_TEXT("Entering SysLogAppender::close()...")); - std::lock_guard guard {access_mutex}; + thread::MutexGuard guard (access_mutex); if (host.empty ()) { @@ -495,7 +495,7 @@ SysLogAppender::appendRemote(const spi::InternalLoggingEvent& event) #if ! defined (LOG4CPLUS_SINGLE_THREADED) -std::recursive_mutex & +thread::Mutex const & SysLogAppender::ctcGetAccessMutex () const { return access_mutex; From 3d6136875bb1b4022cc74bb7265ce1bcfd96adc1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Dec 2023 19:33:52 +0100 Subject: [PATCH 234/353] Add basic test for ObjectRegistryBase. --- src/objectregistry.cxx | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 2f1f89113..677b5c58a 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -22,6 +22,9 @@ #include #include +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include +#endif namespace log4cplus::spi { @@ -125,5 +128,37 @@ ObjectRegistryBase::_enableLocking (bool enable) locking = enable; } +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +CATCH_TEST_CASE ("ObjectRegistryBase") +{ + + class TestObjectRegistry : public ObjectRegistryBase + { + public: + using ObjectRegistryBase::putVal; + using ObjectRegistryBase::getVal; + using ObjectRegistryBase::clear; + + virtual void deleteObject(void *object) const + { + delete static_cast(object); + } + }; + + CATCH_SECTION ("put-get") + { + TestObjectRegistry reg; + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("doesnotexist")) == nullptr); + std::string * const str = new std::string ("test"); + CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("a"), str)); + CATCH_REQUIRE (!reg.putVal (LOG4CPLUS_TEXT ("a"), str)); + std::string * str2 = new std::string ("test2"); + CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("b"), str2)); + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("a")) == str); + CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("b")) == str2); + } + +} +#endif // defined (LOG4CPLUS_WITH_UNIT_TESTS) } // namespace log4cplus::spi From a1c0bc02d37987a8fd1f8a5dcaec6b34364270f8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 23 Dec 2023 09:28:53 +0100 Subject: [PATCH 235/353] Add threadsafetyanalysis.h to build system. --- Makefile.in | 2 +- include/Makefile.am | 1 + include/Makefile.in | 1 + src/CMakeLists.txt | 1 + src/Makefile.am | 2 +- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in index ef9a0a62e..bc8944f29 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1291,7 +1291,7 @@ liblog4cplus_la_SOURCES = $(common_liblog4cplus_la_sources) common_liblog4cplus_la_ldflags = -no-undefined \ $(LOG4CPLUS_VERSION_LT_FLAGS) \ $(LOG4CPLUS_PROFILING_LDFLAGS) \ - $(LOG4CPLUS_LTO_LDFLAGS) \ + $(LOG4CPLUS_LTO_LDFLAGS) \ $(LOG4CPLUS_AIX_XLC_LDFLAGS) \ $(LOG4CPLUS_EXPORT_SYMBOLS_REGEX) diff --git a/include/Makefile.am b/include/Makefile.am index 1ac71be6b..d6a9960c4 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -42,6 +42,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/internal/env.h \ log4cplus/internal/internal.h \ log4cplus/internal/socket.h \ + log4cplus/internal/threadsafetyanalysis.h \ log4cplus/layout.h \ log4cplus/log4cplus.h \ log4cplus/log4judpappender.h \ diff --git a/include/Makefile.in b/include/Makefile.in index ea4bac117..8ea37be10 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -402,6 +402,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/internal/env.h \ log4cplus/internal/internal.h \ log4cplus/internal/socket.h \ + log4cplus/internal/threadsafetyanalysis.h \ log4cplus/layout.h \ log4cplus/log4cplus.h \ log4cplus/log4judpappender.h \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index adcf98ca9..36812a0f1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -242,6 +242,7 @@ install(FILES ../include/log4cplus/helpers/appenderattachableimpl.h install(FILES ../include/log4cplus/internal/env.h ../include/log4cplus/internal/internal.h ../include/log4cplus/internal/socket.h + ../include/log4cplus/internal/threadsafetyanalysis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/log4cplus/internal ) install(FILES ../include/log4cplus/spi/appenderattachable.h diff --git a/src/Makefile.am b/src/Makefile.am index 1b45b68a4..9800515dc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -74,7 +74,7 @@ endif common_liblog4cplus_la_ldflags = -no-undefined \ $(LOG4CPLUS_VERSION_LT_FLAGS) \ $(LOG4CPLUS_PROFILING_LDFLAGS) \ - $(LOG4CPLUS_LTO_LDFLAGS) \ + $(LOG4CPLUS_LTO_LDFLAGS) \ $(LOG4CPLUS_AIX_XLC_LDFLAGS) \ $(LOG4CPLUS_EXPORT_SYMBOLS_REGEX) liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) From 3dc3ff138c210bb03237860f4cdda4a492507b03 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 23 Dec 2023 10:04:10 +0100 Subject: [PATCH 236/353] Fix NEWS links. --- NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 0dde8a472..9de1d391a 100644 --- a/NEWS +++ b/NEWS @@ -1,2 +1,2 @@ -See ChangeLog, -and . +See ChangeLog file, or , +or . From 76b5093a2647c8180e8679e88566c324f45f9e60 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 23 Dec 2023 10:41:40 +0100 Subject: [PATCH 237/353] Use override keyword. --- include/log4cplus/asyncappender.h | 12 ++++++------ include/log4cplus/callbackappender.h | 4 ++-- include/log4cplus/clfsappender.h | 24 ++++++++++++------------ include/log4cplus/consoleappender.h | 10 +++++----- include/log4cplus/fileappender.h | 16 ++++++++-------- include/log4cplus/layout.h | 6 +++--- include/log4cplus/log4judpappender.h | 4 ++-- include/log4cplus/msttsappender.h | 4 ++-- include/log4cplus/nteventlogappender.h | 18 ++++++++---------- include/log4cplus/nullappender.h | 6 +++--- include/log4cplus/qt4debugappender.h | 12 ++++++------ include/log4cplus/qt5debugappender.h | 12 ++++++------ include/log4cplus/socketappender.h | 12 ++++++------ include/log4cplus/spi/filter.h | 14 +++++++------- include/log4cplus/syslogappender.h | 12 ++++++------ include/log4cplus/win32consoleappender.h | 20 ++++++++++---------- include/log4cplus/win32debugappender.h | 8 ++++---- 17 files changed, 96 insertions(+), 98 deletions(-) diff --git a/include/log4cplus/asyncappender.h b/include/log4cplus/asyncappender.h index 84b1ea1eb..1e37124ca 100644 --- a/include/log4cplus/asyncappender.h +++ b/include/log4cplus/asyncappender.h @@ -68,21 +68,21 @@ class LOG4CPLUS_EXPORT AsyncAppender public: AsyncAppender (SharedAppenderPtr const & app, unsigned max_len); AsyncAppender (helpers::Properties const &); + + AsyncAppender (AsyncAppender const &) = delete; + AsyncAppender & operator = (AsyncAppender const &) = delete; + virtual ~AsyncAppender (); - virtual void close (); + virtual void close () override; protected: - virtual void append (spi::InternalLoggingEvent const &); + virtual void append (spi::InternalLoggingEvent const &) override; void init_queue_thread (unsigned); thread::AbstractThreadPtr queue_thread; thread::QueuePtr queue; - -private: - AsyncAppender (AsyncAppender const &); - AsyncAppender & operator = (AsyncAppender const &); }; diff --git a/include/log4cplus/callbackappender.h b/include/log4cplus/callbackappender.h index 0c61bedb2..98dae9b83 100644 --- a/include/log4cplus/callbackappender.h +++ b/include/log4cplus/callbackappender.h @@ -51,13 +51,13 @@ class LOG4CPLUS_EXPORT CallbackAppender CallbackAppender(const log4cplus::helpers::Properties&); virtual ~CallbackAppender(); - virtual void close(); + virtual void close() override; void setCookie(void *); void setCallback(log4cplus_log_event_callback_t); protected: - virtual void append(const log4cplus::spi::InternalLoggingEvent& event); + virtual void append(const log4cplus::spi::InternalLoggingEvent& event) override; private: log4cplus_log_event_callback_t callback; diff --git a/include/log4cplus/clfsappender.h b/include/log4cplus/clfsappender.h index e764315f5..753775208 100644 --- a/include/log4cplus/clfsappender.h +++ b/include/log4cplus/clfsappender.h @@ -6,17 +6,17 @@ // // // Copyright (C) 2012-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -27,8 +27,8 @@ // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - + + // /** @file */ @@ -67,14 +67,18 @@ class LOG4CPLUS_CLFSAPPENDER_EXPORT CLFSAppender CLFSAppender (tstring const & logname, unsigned long logsize, unsigned long buffersize); explicit CLFSAppender (helpers::Properties const &); + + CLFSAppender (CLFSAppender const &) = delete; + CLFSAppender & operator = (CLFSAppender const &) = delete; + virtual ~CLFSAppender (); - virtual void close (); + virtual void close () override; static void registerAppender (); protected: - virtual void append (spi::InternalLoggingEvent const &); + virtual void append (spi::InternalLoggingEvent const &) override; void init (tstring const & logname, unsigned long logsize, unsigned long buffersize); @@ -82,10 +86,6 @@ class LOG4CPLUS_CLFSAPPENDER_EXPORT CLFSAppender struct Data; Data * data; - -private: - CLFSAppender (CLFSAppender const &); - CLFSAppender & operator = (CLFSAppender const &); }; diff --git a/include/log4cplus/consoleappender.h b/include/log4cplus/consoleappender.h index 3da24c817..47aad0abe 100644 --- a/include/log4cplus/consoleappender.h +++ b/include/log4cplus/consoleappender.h @@ -48,7 +48,7 @@ namespace log4cplus { *
ImmediateFlush
*
When it is set true, output stream will be flushed after * each appended event.
- * + * *
Locale
*
This property specifies a locale name that will be imbued * into output stream. Locale can be specified either by system @@ -61,11 +61,11 @@ namespace log4cplus { * spi::LocaleFactory in * spi::LocaleFactoryRegistry. * \sa spi::getLocaleFactoryRegistry(). - * + * * Note: if Locale is set, ImmediateFlush will * be set to true automatically. *
- * + * * * \sa Appender */ @@ -79,14 +79,14 @@ namespace log4cplus { ~ConsoleAppender(); // Methods - virtual void close(); + virtual void close() override; //! This mutex is used by ConsoleAppender and helpers::LogLog //! classes to synchronize output to console. static log4cplus::thread::Mutex const & getOutputMutex(); protected: - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; // Data bool logToStdErr; diff --git a/include/log4cplus/fileappender.h b/include/log4cplus/fileappender.h index 36f6d35b6..4cdcdc277 100644 --- a/include/log4cplus/fileappender.h +++ b/include/log4cplus/fileappender.h @@ -117,7 +117,7 @@ namespace log4cplus class LOG4CPLUS_EXPORT FileAppenderBase : public Appender { public: // Methods - virtual void close(); + virtual void close() override; //! Redefine default locale for output stream. It may be a good idea to //! provide UTF-8 locale in case UNICODE macro is defined. @@ -137,7 +137,7 @@ namespace log4cplus void init(); - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; virtual void open(std::ios_base::openmode mode); bool reopen(); @@ -253,7 +253,7 @@ namespace log4cplus virtual ~RollingFileAppender(); protected: - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; void rollover(bool alreadyLocked = false); // Data @@ -324,10 +324,10 @@ namespace log4cplus virtual ~DailyRollingFileAppender(); // Methods - virtual void close(); + virtual void close() override; protected: - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; void rollover(bool alreadyLocked = false); log4cplus::helpers::Time calculateNextRolloverTime(const log4cplus::helpers::Time& t) const; log4cplus::tstring getFilename(const log4cplus::helpers::Time& t) const; @@ -398,9 +398,9 @@ namespace log4cplus ~TimeBasedRollingFileAppender(); protected: - void append(const spi::InternalLoggingEvent& event); - void open(std::ios_base::openmode mode); - void close(); + virtual void append(const spi::InternalLoggingEvent& event) override; + void open(std::ios_base::openmode mode) override; + virtual void close() override; void rollover(bool alreadyLocked = false); void clean(helpers::Time time); helpers::Time::duration getRolloverPeriodDuration() const; diff --git a/include/log4cplus/layout.h b/include/log4cplus/layout.h index a0110e4bc..c33e11709 100644 --- a/include/log4cplus/layout.h +++ b/include/log4cplus/layout.h @@ -110,7 +110,7 @@ namespace log4cplus { virtual ~SimpleLayout(); virtual void formatAndAppend(log4cplus::tostream& output, - const log4cplus::spi::InternalLoggingEvent& event); + const log4cplus::spi::InternalLoggingEvent& event) override; private: // Disallow copying of instances of this class @@ -172,7 +172,7 @@ namespace log4cplus { virtual ~TTCCLayout(); virtual void formatAndAppend(log4cplus::tostream& output, - const log4cplus::spi::InternalLoggingEvent& event); + const log4cplus::spi::InternalLoggingEvent& event) override; bool getThreadPrinting() const; void setThreadPrinting(bool); @@ -623,7 +623,7 @@ namespace log4cplus { virtual ~PatternLayout(); virtual void formatAndAppend(log4cplus::tostream& output, - const log4cplus::spi::InternalLoggingEvent& event); + const log4cplus::spi::InternalLoggingEvent& event) override; protected: void init(const log4cplus::tstring& pattern, unsigned ndcMaxDepth = 0); diff --git a/include/log4cplus/log4judpappender.h b/include/log4cplus/log4judpappender.h index a6422d5cf..72b6dd59b 100644 --- a/include/log4cplus/log4judpappender.h +++ b/include/log4cplus/log4judpappender.h @@ -69,11 +69,11 @@ namespace log4cplus { ~Log4jUdpAppender(); // Methods - virtual void close(); + virtual void close() override; protected: void openSocket(); - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; // Data log4cplus::helpers::Socket socket; diff --git a/include/log4cplus/msttsappender.h b/include/log4cplus/msttsappender.h index 347972534..76b4e1f1f 100644 --- a/include/log4cplus/msttsappender.h +++ b/include/log4cplus/msttsappender.h @@ -82,12 +82,12 @@ class LOG4CPLUS_MSTTSAPPENDER_EXPORT MSTTSAppender explicit MSTTSAppender (helpers::Properties const &); virtual ~MSTTSAppender (); - virtual void close (); + virtual void close () override; static void registerAppender (); protected: - virtual void append (spi::InternalLoggingEvent const &); + virtual void append (spi::InternalLoggingEvent const &) override; struct Data; diff --git a/include/log4cplus/nteventlogappender.h b/include/log4cplus/nteventlogappender.h index 2d8829fac..fb8000814 100644 --- a/include/log4cplus/nteventlogappender.h +++ b/include/log4cplus/nteventlogappender.h @@ -38,24 +38,27 @@ namespace log4cplus { /** - * Appends log events to NT EventLog. + * Appends log events to NT EventLog. */ class LOG4CPLUS_EXPORT NTEventLogAppender : public Appender { public: // ctors - NTEventLogAppender(const log4cplus::tstring& server, - const log4cplus::tstring& log, + NTEventLogAppender(const log4cplus::tstring& server, + const log4cplus::tstring& log, const log4cplus::tstring& source); NTEventLogAppender(const log4cplus::helpers::Properties & properties); + NTEventLogAppender(const NTEventLogAppender&) = delete; + NTEventLogAppender& operator=(const NTEventLogAppender&) = delete; + // dtor virtual ~NTEventLogAppender(); // public Methods - virtual void close(); + virtual void close() override; protected: - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; virtual WORD getEventType(const spi::InternalLoggingEvent& event); virtual WORD getEventCategory(const spi::InternalLoggingEvent& event); void init(); @@ -71,11 +74,6 @@ namespace log4cplus { log4cplus::tstring source; HANDLE hEventLog; SID* pCurrentUserSID; - - private: - // Disallow copying of instances of this class - NTEventLogAppender(const NTEventLogAppender&); - NTEventLogAppender& operator=(const NTEventLogAppender&); }; } // end namespace log4cplus diff --git a/include/log4cplus/nullappender.h b/include/log4cplus/nullappender.h index 18e76967c..06efbe2af 100644 --- a/include/log4cplus/nullappender.h +++ b/include/log4cplus/nullappender.h @@ -36,7 +36,7 @@ namespace log4cplus { /** - * Appends log events to a file. + * Appends log events to a file. */ class LOG4CPLUS_EXPORT NullAppender : public Appender { public: @@ -48,10 +48,10 @@ namespace log4cplus { virtual ~NullAppender(); // Methods - virtual void close(); + virtual void close() override; protected: - virtual void append(const log4cplus::spi::InternalLoggingEvent& event); + virtual void append(const log4cplus::spi::InternalLoggingEvent& event) override; private: // Disallow copying of instances of this class diff --git a/include/log4cplus/qt4debugappender.h b/include/log4cplus/qt4debugappender.h index 177dbda43..f8066b943 100644 --- a/include/log4cplus/qt4debugappender.h +++ b/include/log4cplus/qt4debugappender.h @@ -81,16 +81,16 @@ class LOG4CPLUS_QT4DEBUGAPPENDER_EXPORT Qt4DebugAppender explicit Qt4DebugAppender (helpers::Properties const &); virtual ~Qt4DebugAppender (); - virtual void close (); + Qt4DebugAppender (Qt4DebugAppender const &) = delete; + Qt4DebugAppender & operator = (Qt4DebugAppender const &) = delete; + + + virtual void close () override; static void registerAppender (); protected: - virtual void append (spi::InternalLoggingEvent const &); - -private: - Qt4DebugAppender (Qt4DebugAppender const &); - Qt4DebugAppender & operator = (Qt4DebugAppender const &); + virtual void append (spi::InternalLoggingEvent const &) override; }; diff --git a/include/log4cplus/qt5debugappender.h b/include/log4cplus/qt5debugappender.h index e14bf234d..c553c3251 100644 --- a/include/log4cplus/qt5debugappender.h +++ b/include/log4cplus/qt5debugappender.h @@ -79,18 +79,18 @@ class LOG4CPLUS_QT5DEBUGAPPENDER_EXPORT Qt5DebugAppender public: Qt5DebugAppender (); explicit Qt5DebugAppender (helpers::Properties const &); + + Qt5DebugAppender (Qt5DebugAppender const &) = delete; + Qt5DebugAppender & operator = (Qt5DebugAppender const &) = delete; + virtual ~Qt5DebugAppender (); - virtual void close (); + virtual void close () override; static void registerAppender (); protected: - virtual void append (spi::InternalLoggingEvent const &); - -private: - Qt5DebugAppender (Qt5DebugAppender const &); - Qt5DebugAppender & operator = (Qt5DebugAppender const &); + virtual void append (spi::InternalLoggingEvent const &) override; }; diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index f0dd564a8..17d77b7cb 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -119,12 +119,12 @@ namespace log4cplus ~SocketAppender(); // Methods - virtual void close(); + virtual void close() override; protected: void openSocket(); void initConnector (); - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; // Data log4cplus::helpers::Socket socket; @@ -134,10 +134,10 @@ namespace log4cplus bool ipv6 = false; #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual thread::Mutex const & ctcGetAccessMutex () const; - virtual helpers::Socket & ctcGetSocket (); - virtual helpers::Socket ctcConnect (); - virtual void ctcSetConnected (); + virtual thread::Mutex const & ctcGetAccessMutex () const override; + virtual helpers::Socket & ctcGetSocket () override; + virtual helpers::Socket ctcConnect () override; + virtual void ctcSetConnected () override; volatile bool connected; helpers::SharedObjectPtr connector; diff --git a/include/log4cplus/spi/filter.h b/include/log4cplus/spi/filter.h index e778c75ac..655599948 100644 --- a/include/log4cplus/spi/filter.h +++ b/include/log4cplus/spi/filter.h @@ -156,7 +156,7 @@ namespace log4cplus { * Always returns the {@link #DENY} regardless of the * {@link InternalLoggingEvent} parameter. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; }; @@ -186,7 +186,7 @@ namespace log4cplus { * The returned decision is {@link #DENY} if the AcceptOnMatch * property is set to false. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; private: // Methods @@ -234,7 +234,7 @@ namespace log4cplus { /** * Return the decision of this filter. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; private: // Methods @@ -269,7 +269,7 @@ namespace log4cplus { /** * Returns {@link #NEUTRAL} is there is no string match. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; private: // Methods @@ -297,7 +297,7 @@ namespace log4cplus { /** * Returns result returned by `function`. */ - virtual FilterResult decide(const InternalLoggingEvent&) const; + virtual FilterResult decide(const InternalLoggingEvent&) const override; private: Function function; @@ -335,7 +335,7 @@ namespace log4cplus { /** * Returns {@link #NEUTRAL} is there is no string match. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; private: // Methods @@ -381,7 +381,7 @@ namespace log4cplus { /** * Returns {@link #NEUTRAL} is there is no string match. */ - virtual FilterResult decide(const InternalLoggingEvent& event) const; + virtual FilterResult decide(const InternalLoggingEvent& event) const override; private: // Methods diff --git a/include/log4cplus/syslogappender.h b/include/log4cplus/syslogappender.h index 4f9276442..af2608f90 100644 --- a/include/log4cplus/syslogappender.h +++ b/include/log4cplus/syslogappender.h @@ -108,11 +108,11 @@ namespace log4cplus virtual ~SysLogAppender(); // Methods - virtual void close(); + virtual void close() override; protected: virtual int getSysLogLevel(const LogLevel& ll) const; - virtual void append(const spi::InternalLoggingEvent& event); + virtual void append(const spi::InternalLoggingEvent& event) override; #if defined (LOG4CPLUS_HAVE_SYSLOG_H) //! Local syslog (served by `syslog()`) worker function. void appendLocal(const spi::InternalLoggingEvent& event); @@ -141,10 +141,10 @@ namespace log4cplus void openSocket (); #if ! defined (LOG4CPLUS_SINGLE_THREADED) - virtual thread::Mutex const & ctcGetAccessMutex () const; - virtual helpers::Socket & ctcGetSocket (); - virtual helpers::Socket ctcConnect (); - virtual void ctcSetConnected (); + virtual thread::Mutex const & ctcGetAccessMutex () const override; + virtual helpers::Socket & ctcGetSocket () override; + virtual helpers::Socket ctcConnect () override; + virtual void ctcSetConnected () override; helpers::SharedObjectPtr connector; #endif diff --git a/include/log4cplus/win32consoleappender.h b/include/log4cplus/win32consoleappender.h index 0339c7f94..36358e427 100644 --- a/include/log4cplus/win32consoleappender.h +++ b/include/log4cplus/win32consoleappender.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2009-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -67,12 +67,16 @@ namespace log4cplus explicit Win32ConsoleAppender (bool allocConsole = true, bool logToStdErr = false, unsigned int textColor = 0); Win32ConsoleAppender (helpers::Properties const & properties); + + Win32ConsoleAppender (Win32ConsoleAppender const &) = delete; + Win32ConsoleAppender & operator = (Win32ConsoleAppender const &) = delete; + virtual ~Win32ConsoleAppender (); - virtual void close (); + virtual void close () override; protected: - virtual void append (spi::InternalLoggingEvent const &); + virtual void append (spi::InternalLoggingEvent const &) override; void write_handle (void *, tchar const *, std::size_t); void write_console (void *, tchar const *, std::size_t); @@ -80,10 +84,6 @@ namespace log4cplus bool alloc_console; bool log_to_std_err; unsigned int text_color; - - private: - Win32ConsoleAppender (Win32ConsoleAppender const &); - Win32ConsoleAppender & operator = (Win32ConsoleAppender const &); }; } // namespace log4cplus diff --git a/include/log4cplus/win32debugappender.h b/include/log4cplus/win32debugappender.h index 31cbc3d0e..b5874df75 100644 --- a/include/log4cplus/win32debugappender.h +++ b/include/log4cplus/win32debugappender.h @@ -30,7 +30,7 @@ #pragma once #endif -#if defined (LOG4CPLUS_HAVE_OUTPUTDEBUGSTRING) +#if defined (LOG4CPLUS_HAVE_OUTPUTDEBUGSTRING) #include @@ -38,7 +38,7 @@ namespace log4cplus { /** - * Prints log events using OutputDebugString(). + * Prints log events using OutputDebugString(). */ class LOG4CPLUS_EXPORT Win32DebugAppender : public Appender @@ -52,10 +52,10 @@ namespace log4cplus { virtual ~Win32DebugAppender(); // Methods - virtual void close(); + virtual void close() override; protected: - virtual void append(const log4cplus::spi::InternalLoggingEvent& event); + virtual void append(const log4cplus::spi::InternalLoggingEvent& event) override; private: // Disallow copying of instances of this class From 0e105f8486efa52e4db6836371c54057edb8fecb Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 23 Dec 2023 13:50:17 +0100 Subject: [PATCH 238/353] layout.h: Delete ctors instead of using private undefined ctors. --- include/log4cplus/layout.h | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/include/log4cplus/layout.h b/include/log4cplus/layout.h index c33e11709..6b4dfa452 100644 --- a/include/log4cplus/layout.h +++ b/include/log4cplus/layout.h @@ -75,6 +75,10 @@ namespace log4cplus { public: Layout(); Layout(const helpers::Properties& properties); + + Layout(const Layout&) = delete; + Layout& operator=(Layout const &) = delete; + virtual ~Layout() = 0; virtual void formatAndAppend(log4cplus::tostream& output, @@ -82,11 +86,6 @@ namespace log4cplus { protected: LogLevelManager& llmCache; - - private: - // Disable copy - Layout(const Layout&); - Layout& operator=(Layout const &); }; @@ -107,15 +106,14 @@ namespace log4cplus { public: SimpleLayout(); SimpleLayout(const log4cplus::helpers::Properties& properties); + + SimpleLayout(const SimpleLayout&) = delete; + SimpleLayout& operator=(const SimpleLayout&) = delete; + virtual ~SimpleLayout(); virtual void formatAndAppend(log4cplus::tostream& output, const log4cplus::spi::InternalLoggingEvent& event) override; - - private: - // Disallow copying of instances of this class - SimpleLayout(const SimpleLayout&); - SimpleLayout& operator=(const SimpleLayout&); }; @@ -169,6 +167,10 @@ namespace log4cplus { TTCCLayout(bool use_gmtime = false, bool thread_printing = true, bool category_prefixes = true, bool context_printing = true); TTCCLayout(const log4cplus::helpers::Properties& properties); + + TTCCLayout(const TTCCLayout&) = delete; + TTCCLayout& operator=(const TTCCLayout&) = delete; + virtual ~TTCCLayout(); virtual void formatAndAppend(log4cplus::tostream& output, @@ -189,11 +191,6 @@ namespace log4cplus { bool thread_printing = true; bool category_prefixing = true; bool context_printing = true; - - private: - // Disallow copying of instances of this class - TTCCLayout(const TTCCLayout&); - TTCCLayout& operator=(const TTCCLayout&); }; @@ -620,6 +617,10 @@ namespace log4cplus { // Ctors and dtor PatternLayout(const log4cplus::tstring& pattern); PatternLayout(const log4cplus::helpers::Properties& properties); + + PatternLayout(const PatternLayout&) = delete; + PatternLayout& operator=(const PatternLayout&) = delete; + virtual ~PatternLayout(); virtual void formatAndAppend(log4cplus::tostream& output, @@ -631,11 +632,6 @@ namespace log4cplus { // Data log4cplus::tstring pattern; std::vector > parsedPattern; - - private: - // Disallow copying of instances of this class - PatternLayout(const PatternLayout&); - PatternLayout& operator=(const PatternLayout&); }; From a4096d38af8396c50143719ed02722b7463ea06e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 23 Dec 2023 15:12:45 +0100 Subject: [PATCH 239/353] Throw log4cplus::exception from syncprims_throw_exception. --- src/exception.cxx | 2 +- src/syncprims.cxx | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/exception.cxx b/src/exception.cxx index 9dbd9e50d..fe9b4efbe 100644 --- a/src/exception.cxx +++ b/src/exception.cxx @@ -3,7 +3,7 @@ namespace log4cplus { exception::exception (tstring const & message) - : std::runtime_error (LOG4CPLUS_TSTRING_TO_STRING (message).c_str ()) + : std::runtime_error (LOG4CPLUS_TSTRING_TO_STRING (message)) { } exception::exception (exception const &) = default; diff --git a/src/syncprims.cxx b/src/syncprims.cxx index f2766338a..331fdacb3 100644 --- a/src/syncprims.cxx +++ b/src/syncprims.cxx @@ -22,9 +22,10 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include -#include #define LOG4CPLUS_ENABLE_SYNCPRIMS_PUB_IMPL #include +#include +#include namespace log4cplus::thread::impl @@ -36,9 +37,10 @@ void syncprims_throw_exception (char const * const msg, char const * const file, int line) { - std::ostringstream oss; - oss << file << ":" << line << ": " << msg; - throw std::runtime_error (oss.str ()); + log4cplus::tostringstream oss; + oss << LOG4CPLUS_C_STR_TO_TSTRING (file) << LOG4CPLUS_TEXT (":") << line + << LOG4CPLUS_TEXT (": ") << LOG4CPLUS_C_STR_TO_TSTRING (msg); + throw log4cplus::exception (oss.str ()); } From a8579116770dd5ca0da86afe0df6f3d1dbba9758 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 16:35:04 +0100 Subject: [PATCH 240/353] Use [[unlikely]]. --- include/log4cplus/helpers/stringhelper.h | 5 ++-- include/log4cplus/internal/internal.h | 4 +-- include/log4cplus/loggingmacros.h | 27 ++++++++++--------- include/log4cplus/thread/impl/tls.h | 12 ++++----- include/log4cplus/thread/syncprims-pub-impl.h | 4 +-- src/fileappender.cxx | 2 +- src/global-init.cxx | 2 +- src/loglog.cxx | 8 +++--- src/pointer.cxx | 4 +-- src/threads.cxx | 8 +++--- src/timehelper.cxx | 4 +-- 11 files changed, 40 insertions(+), 40 deletions(-) diff --git a/include/log4cplus/helpers/stringhelper.h b/include/log4cplus/helpers/stringhelper.h index b5ff80618..deb83c183 100644 --- a/include/log4cplus/helpers/stringhelper.h +++ b/include/log4cplus/helpers/stringhelper.h @@ -113,8 +113,7 @@ namespace log4cplus { // does not have positive counterpart; the range is // asymetric. That's why we handle the case of value // == min() specially here. - if (LOG4CPLUS_UNLIKELY ( - value == (std::numeric_limits::min) ())) + if (value == (std::numeric_limits::min) ()) [[unlikely]] { intType const r = value / 10; intType const a = (-r) * 10; @@ -174,7 +173,7 @@ namespace log4cplus { charType * it = &buffer[buffer_size]; charType const * const buf_end = &buffer[buffer_size]; - if (LOG4CPLUS_UNLIKELY (value == 0)) + if (value == 0) [[unlikely]] { --it; *it = LOG4CPLUS_TEXT('0'); diff --git a/include/log4cplus/internal/internal.h b/include/log4cplus/internal/internal.h index 051153f38..4cb44852e 100644 --- a/include/log4cplus/internal/internal.h +++ b/include/log4cplus/internal/internal.h @@ -155,7 +155,7 @@ inline per_thread_data * get_ptd (bool alloc = true) { - if (LOG4CPLUS_UNLIKELY (! ptd && alloc)) + if (! ptd && alloc) [[unlikely]] return alloc_ptd (); // The assert() does not belong here. get_ptd() might be called by @@ -185,7 +185,7 @@ get_ptd (bool alloc = true) = reinterpret_cast( thread::impl::tls_get_value (tls_storage_key)); - if (LOG4CPLUS_UNLIKELY (! ptd && alloc)) + if (! ptd && alloc) [[unlikely]] return alloc_ptd (); return ptd; diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index 95fdd9a53..c250d160a 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -183,17 +183,17 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, // Make TRACE and DEBUG log level unlikely and INFO, WARN, ERROR and // FATAL log level likely. #define LOG4CPLUS_MACRO_TRACE_LOG_LEVEL(pred) \ - LOG4CPLUS_UNLIKELY (pred) + (pred) [[unlikely]] #define LOG4CPLUS_MACRO_DEBUG_LOG_LEVEL(pred) \ - LOG4CPLUS_UNLIKELY (pred) + (pred) [[unlikely]] #define LOG4CPLUS_MACRO_INFO_LOG_LEVEL(pred) \ - LOG4CPLUS_LIKELY (pred) + (pred) [[likely]] #define LOG4CPLUS_MACRO_WARN_LOG_LEVEL(pred) \ - LOG4CPLUS_LIKELY (pred) + (pred) [[likely]] #define LOG4CPLUS_MACRO_ERROR_LOG_LEVEL(pred) \ - LOG4CPLUS_LIKELY (pred) + (pred) [[likely]] #define LOG4CPLUS_MACRO_FATAL_LOG_LEVEL(pred) \ - LOG4CPLUS_LIKELY (pred) + (pred) [[likely]] //! Dispatch to LOG4CPLUS_MACRO_LOGLEVEL_* depending on log level. @@ -227,8 +227,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, do { \ log4cplus::Logger const & _l \ = log4cplus::detail::macros_get_logger (logger); \ - if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ - _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ + if LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ + _l.isEnabledFor (log4cplus::logLevel), logLevel) { \ LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \ _log4cplus_buf << logEvent; \ LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ @@ -247,8 +247,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, do { \ log4cplus::Logger const & _l \ = log4cplus::detail::macros_get_logger (logger); \ - if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ - _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ + if LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ + _l.isEnabledFor (log4cplus::logLevel), logLevel) { \ LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ log4cplus::detail::macro_forced_log (_l, \ log4cplus::logLevel, logEvent, \ @@ -264,8 +264,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, do { \ log4cplus::Logger const & _l \ = log4cplus::detail::macros_get_logger (logger); \ - if (LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ - _l.isEnabledFor (log4cplus::logLevel), logLevel)) { \ + if LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ + _l.isEnabledFor (log4cplus::logLevel), logLevel) { \ LOG4CPLUS_MACRO_INSTANTIATE_SNPRINTF_BUF (_snpbuf); \ log4cplus::tchar const * _logEvent \ = _snpbuf.print (__VA_ARGS__); \ @@ -413,10 +413,11 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #define LOG4CPLUS_ASSERT(logger, condition) \ LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ do { \ - if (LOG4CPLUS_UNLIKELY(! (condition))) \ + if (! (condition)) [[unlikely]] { \ LOG4CPLUS_FATAL_STR ((logger), \ LOG4CPLUS_TEXT ("failed condition: ") \ LOG4CPLUS_TEXT (LOG4CPLUS_ASSERT_STRINGIFY (condition))); \ + } \ } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() diff --git a/include/log4cplus/thread/impl/tls.h b/include/log4cplus/thread/impl/tls.h index 2c1270e0c..0e08e19e8 100644 --- a/include/log4cplus/thread/impl/tls.h +++ b/include/log4cplus/thread/impl/tls.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2010-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -83,7 +83,7 @@ tls_init (tls_init_cleanup_func_type cleanupfunc) { pthread_key_t * key = new pthread_key_t; int ret = pthread_key_create (key, cleanupfunc); - if (LOG4CPLUS_UNLIKELY (ret != 0)) + if (ret != 0) [[unlikely]] throw std::system_error(ret, std::system_category (), "pthread_key_create() failed"); return key; @@ -117,7 +117,7 @@ tls_key_type tls_init (tls_init_cleanup_func_type cleanupfunc) { DWORD const slot = FlsAlloc (cleanupfunc); - if (LOG4CPLUS_UNLIKELY (slot == FLS_OUT_OF_INDEXES)) + if (slot == FLS_OUT_OF_INDEXES) [[unlikely]] { DWORD const eno = GetLastError (); throw std::system_error (static_cast(eno), diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index 7312b9250..b3db32523 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -129,7 +129,7 @@ Semaphore::lock () const #if ! defined (LOG4CPLUS_SINGLE_THREADED) std::unique_lock guard (mtx); - if (LOG4CPLUS_UNLIKELY(val > max_)) + if (val > max_) [[unlikely]] LOG4CPLUS_THROW_RTE ("Semaphore::unlock(): val > max"); while (val == 0) @@ -137,7 +137,7 @@ Semaphore::lock () const --val; - if (LOG4CPLUS_UNLIKELY(val >= max_)) + if (val >= max_) [[unlikely]] LOG4CPLUS_THROW_RTE ("Semaphore::unlock(): val >= max"); #endif } diff --git a/src/fileappender.cxx b/src/fileappender.cxx index d18473dd5..6d581543a 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -1324,7 +1324,7 @@ TimeBasedRollingFileAppender::init() Time now = helpers::now(); nextRolloverTime = calculateNextRolloverTime(now); - if (LOG4CPLUS_UNLIKELY(cleanHistoryOnStart)) + if (cleanHistoryOnStart) [[unlikely]] { clean(now + maxHistory*getRolloverPeriodDuration()); } diff --git a/src/global-init.cxx b/src/global-init.cxx index 8c180cff6..ff3324046 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -270,7 +270,7 @@ get_dc ( #endif ) { - if (LOG4CPLUS_UNLIKELY(!default_context)) + if (!default_context) [[unlikely]] { if (alloc) { diff --git a/src/loglog.cxx b/src/loglog.cxx index b1b1dae1c..0b1faa216 100644 --- a/src/loglog.cxx +++ b/src/loglog.cxx @@ -122,7 +122,7 @@ LogLog::error(tchar const * msg, bool throw_flag) const bool LogLog::get_quiet_mode () const { - if (LOG4CPLUS_UNLIKELY (quietMode == TriUndef)) + if (quietMode == TriUndef) [[unlikely]] set_tristate_from_env (&quietMode, LOG4CPLUS_TEXT ("LOG4CPLUS_LOGLOG_QUIETMODE")); @@ -140,7 +140,7 @@ LogLog::get_not_quiet_mode () const bool LogLog::get_debug_mode () const { - if (LOG4CPLUS_UNLIKELY (debugEnabled == TriUndef)) + if (debugEnabled == TriUndef) [[unlikely]] set_tristate_from_env (&debugEnabled, LOG4CPLUS_TEXT ("LOG4CPLUS_LOGLOG_DEBUGENABLED")); @@ -172,7 +172,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, output = (this->*cond) (); } - if (LOG4CPLUS_UNLIKELY (output)) + if (output) [[unlikely]] { // XXX This is potential recursive lock of // ConsoleAppender::outputMutex. @@ -180,7 +180,7 @@ LogLog::logging_worker (tostream & os, bool (LogLog:: * cond) () const, os << prefix << msg << std::endl; } - if (LOG4CPLUS_UNLIKELY (throw_flag)) + if (throw_flag) [[unlikely]] throw log4cplus::exception (msg); } diff --git a/src/pointer.cxx b/src/pointer.cxx index 75f3e33bb..aa41aa417 100644 --- a/src/pointer.cxx +++ b/src/pointer.cxx @@ -69,11 +69,11 @@ SharedObject::removeReference() const #else destroy = std::atomic_fetch_sub_explicit (&count__, 1U, std::memory_order_release) == 1; - if (LOG4CPLUS_UNLIKELY (destroy)) + if (destroy) [[unlikely]] std::atomic_thread_fence (std::memory_order_acquire); #endif - if (LOG4CPLUS_UNLIKELY (destroy)) + if (destroy) [[unlikely]] delete this; } diff --git a/src/threads.cxx b/src/threads.cxx index 0bae9a772..47ab6e927 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -111,7 +111,7 @@ getCurrentThreadName() { #if ! defined (LOG4CPLUS_SINGLE_THREADED) log4cplus::tstring & name = log4cplus::internal::get_thread_name_str (); - if (LOG4CPLUS_UNLIKELY (name.empty ())) + if (name.empty ()) [[unlikely]] { log4cplus::tostringstream tmp; tmp << impl::getCurrentThreadId (); @@ -119,7 +119,7 @@ getCurrentThreadName() } #else log4cplus::tstring & name = thread_name; - if (LOG4CPLUS_UNLIKELY(name.empty())) + if (name.empty()) [[unlikely]] { name = LOG4CPLUS_TEXT("single"); } @@ -166,7 +166,7 @@ getCurrentThreadName2() { #if ! defined (LOG4CPLUS_SINGLE_THREADED) log4cplus::tstring & name = log4cplus::internal::get_thread_name2_str (); - if (LOG4CPLUS_UNLIKELY (name.empty ())) + if (name.empty ()) [[unlikely]] { log4cplus::tostringstream tmp; get_current_thread_name_alt (&tmp); @@ -175,7 +175,7 @@ getCurrentThreadName2() #else log4cplus::tstring & name = thread_name2; - if (LOG4CPLUS_UNLIKELY(name.empty())) + if (name.empty()) [[unlikely]] { name = getCurrentThreadName(); } diff --git a/src/timehelper.cxx b/src/timehelper.cxx index b69edd710..98e72eb6a 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -88,7 +88,7 @@ gmTime (tm* t, Time const & the_time) time_t clock = to_time_t (the_time); #if defined (LOG4CPLUS_HAVE_GMTIME_S) && defined (_MSC_VER) errno_t eno; - if (LOG4CPLUS_UNLIKELY ((eno = gmtime_s (t, &clock)) != 0)) + if ((eno = gmtime_s (t, &clock)) != 0) [[unlikely]] throw std::system_error (eno, std::system_category (), "gmTime(): gmtime_s() failed"); #elif defined (LOG4CPLUS_HAVE_GMTIME_S) && defined (__BORLANDC__) @@ -110,7 +110,7 @@ localTime (tm* t, Time const & the_time) ::localtime_r(&clock, t); #elif defined (LOG4CPLUS_HAVE_LOCALTIME_S) errno_t eno; - if (LOG4CPLUS_UNLIKELY ((eno = localtime_s (t, &clock)) != 0)) + if ((eno = localtime_s (t, &clock)) != 0) [[unlikely]] throw std::system_error (eno, std::system_category (), "localTime(): localtime_s() failed"); #else From adc3d7a5c69078e29025cd139a826b698fb468f1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 16:36:17 +0100 Subject: [PATCH 241/353] Use [[likely]]. --- src/socket-win32.cxx | 2 +- src/timehelper.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/socket-win32.cxx b/src/socket-win32.cxx index a5c115b41..1a8132e47 100644 --- a/src/socket-win32.cxx +++ b/src/socket-win32.cxx @@ -132,7 +132,7 @@ init_winsock () { // Quick check first to avoid the expensive interlocked compare // and exchange. - if (LOG4CPLUS_LIKELY (winsock_state == WS_INITIALIZED)) + if (winsock_state == WS_INITIALIZED) [[likely]] return; else init_winsock_worker (); diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 98e72eb6a..663f1d71f 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -72,7 +72,7 @@ Time from_struct_tm (tm * t) { time_t time = helpers::mktime(t); - if (LOG4CPLUS_LIKELY (time != -1)) + if (time != -1) [[likely]] return from_time_t (time); else { From 7a8d62dd83cb0b45842b691905b3d1676afaec49 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 16:36:52 +0100 Subject: [PATCH 242/353] Remove LOG4CPLUS_LIKELY and LOG4CPLUS_UNLIKELY. --- include/log4cplus/config.hxx | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 01f03718b..2680334ca 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -131,9 +131,6 @@ # define LOG4CPLUS_BUILTIN_EXPECT(exp, c) (exp) #endif -#define LOG4CPLUS_LIKELY(cond) LOG4CPLUS_BUILTIN_EXPECT(!! (cond), 1) -#define LOG4CPLUS_UNLIKELY(cond) LOG4CPLUS_BUILTIN_EXPECT(!! (cond), 0) - #if defined (_MSC_VER) \ || (defined (__BORLANDC__) && __BORLANDC__ >= 0x0650) \ || (defined (__COMO__) && __COMO_VERSION__ >= 400) /* ??? */ \ From 4111607ef9799c20387854de03e7acdcabd305f6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 17:06:29 +0100 Subject: [PATCH 243/353] Fix preprocess condition enabling __builtin_FILE(), etc. --- include/log4cplus/config.hxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 2680334ca..5f3cee9f8 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -110,10 +110,12 @@ /* empty */ #endif -#if defined (__GNUC__) \ - && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \ - && ! defined (__INTEL_COMPILER) \ - && ! defined (__CUDACC__) +#if (defined (__GNUC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \ + && ! defined (__INTEL_COMPILER) \ + && ! defined (__CUDACC__)) \ + || (defined (__clang__) \ + && __clang_major__ >= 9) # define LOG4CPLUS_CALLER_FILE() __builtin_FILE () # define LOG4CPLUS_CALLER_LINE() __builtin_LINE () # define LOG4CPLUS_CALLER_FUNCTION() __builtin_FUNCTION () From c7a8fc73d7ba359b49e916d4c52a70df157b0739 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 17:27:26 +0100 Subject: [PATCH 244/353] Check for __attribute__((__constructor__(prio))) with CMake, too. --- ConfigureChecks.cmake | 18 ++++++++++++++++++ include/log4cplus/config.h.cmake.in | 3 +++ 2 files changed, 21 insertions(+) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 3a1be9300..737318034 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -127,6 +127,24 @@ endif() check_function_exists(gethostbyname_r LOG4CPLUS_HAVE_GETHOSTBYNAME_R) # TODO more complicated test in AC check_function_exists(getaddrinfo LOG4CPLUS_HAVE_GETADDRINFO ) # TODO more complicated test in AC +# Check availability of __attribute__((constructor(priority))). +if(NOT DEFINED LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY) + check_c_source_compiles( + "#if defined (__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 1)) + # error Please fail. + #endif + + int x = 0; + __attribute__((__constructor__(200))) int foo(); + int foo() { return 1; } + + int main(void) { return x == 1 ? 0 : 1; }" + HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY + ) + if(HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY) + set(LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY "1") + endif() +endif() # check for declspec stuff if(NOT DEFINED LOG4CPLUS_DECLSPEC_EXPORT) diff --git a/include/log4cplus/config.h.cmake.in b/include/log4cplus/config.h.cmake.in index 2bf43429a..73faee376 100644 --- a/include/log4cplus/config.h.cmake.in +++ b/include/log4cplus/config.h.cmake.in @@ -183,6 +183,9 @@ /* */ #define LOG4CPLUS_HAVE_FUNCTION_MACRO 1 +/* */ +#cmakedefine LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1 + /* */ #cmakedefine LOG4CPLUS_HAVE_GETADDRINFO 1 From 6e9cbf6023b45abaf79b057d37849c8093caef46 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 18:23:14 +0100 Subject: [PATCH 245/353] Use std::filesystem::path when opening fstream. --- include/log4cplus/config.hxx | 3 --- include/log4cplus/fstreams.h | 9 --------- src/fileappender.cxx | 5 +++-- src/property.cxx | 5 +++-- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 5f3cee9f8..77216b4ef 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -73,9 +73,6 @@ #endif #if defined (UNICODE) -# if defined (_MSC_VER) && _MSC_VER >= 1400 -# define LOG4CPLUS_FSTREAM_ACCEPTS_WCHAR_T -# endif # if defined (_MSC_VER) && _MSC_VER >= 1600 # define LOG4CPLUS_HAVE_CODECVT_UTF8_FACET # define LOG4CPLUS_HAVE_CODECVT_UTF16_FACET diff --git a/include/log4cplus/fstreams.h b/include/log4cplus/fstreams.h index a7dcd6602..dc51aa6d1 100644 --- a/include/log4cplus/fstreams.h +++ b/include/log4cplus/fstreams.h @@ -41,15 +41,6 @@ namespace log4cplus typedef std::basic_ofstream tofstream; typedef std::basic_ifstream tifstream; -//! \def LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X) -//! \brief Expands into expression that picks the right type for -//! std::fstream file name parameter. -#if defined (LOG4CPLUS_FSTREAM_ACCEPTS_WCHAR_T) && defined (UNICODE) -# define LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X) (X) -#else -# define LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X) (LOG4CPLUS_TSTRING_TO_STRING(X)) -#endif - } diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 6d581543a..4b416a24b 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -36,6 +36,7 @@ #include #include #include // std::fmod +#include // For _wrename() and _wremove() on Windows. #include @@ -347,7 +348,7 @@ FileAppenderBase::open(std::ios_base::openmode mode) if (createDirs) internal::make_dirs (filename); - out.open(LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(filename).c_str(), mode); + out.open(std::filesystem::path (filename), mode); if(!out.good()) { getErrorHandler()->error(LOG4CPLUS_TEXT("Unable to open file: ") + filename); @@ -1358,7 +1359,7 @@ TimeBasedRollingFileAppender::open(std::ios_base::openmode mode) if (createDirs) internal::make_dirs (currentFilename); - out.open(LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(currentFilename).c_str(), mode); + out.open(std::filesystem::path (currentFilename), mode); if(!out.good()) { getErrorHandler()->error(LOG4CPLUS_TEXT("Unable to open file: ") + currentFilename); diff --git a/src/property.cxx b/src/property.cxx index 512c8502c..08c6cf2a3 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -323,7 +324,7 @@ Properties::Properties(const tstring& inputFile, unsigned f) tifstream file; imbue_file_from_flags (file, flags); - file.open(LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(inputFile).c_str(), + file.open(std::filesystem::path (inputFile), std::ios::binary); if (! file.good ()) helpers::getLogLog ().error (LOG4CPLUS_TEXT ("could not open file ") @@ -368,7 +369,7 @@ Properties::init(tistream& input) tifstream file; imbue_file_from_flags (file, flags); - file.open (LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(subIncluded).c_str(), + file.open (std::filesystem::path (subIncluded), std::ios::binary); if (! file.good ()) helpers::getLogLog ().error ( From 3780be030ba15b2194c2e6f0b10c76548a30885c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Dec 2023 22:44:08 +0100 Subject: [PATCH 246/353] Use override keyword in more places. --- include/log4cplus/helpers/connectorthread.h | 16 ++++++++-------- simpleserver/loggingserver.cxx | 4 ++-- src/asyncappender.cxx | 2 +- tests/thread_test/main.cxx | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/log4cplus/helpers/connectorthread.h b/include/log4cplus/helpers/connectorthread.h index 6df3ce52e..c953026b6 100644 --- a/include/log4cplus/helpers/connectorthread.h +++ b/include/log4cplus/helpers/connectorthread.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2013-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -76,8 +76,8 @@ class LOG4CPLUS_EXPORT ConnectorThread //! \param client reference to ConnectorThread's client object ConnectorThread (IConnectorThreadClient & client); virtual ~ConnectorThread (); - - virtual void run(); + + virtual void run() override; //! Call this function to terminate ConnectorThread. The function //! sets `exit_flag` and then triggers `trigger_ev` to wake up the @@ -87,7 +87,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This function triggers (`trigger_ev`) connection check and //! attempt to re-connect a broken connection, when necessary. void trigger (); - + protected: //! reference to ConnectorThread's client IConnectorThreadClient & ctc; @@ -95,7 +95,7 @@ class LOG4CPLUS_EXPORT ConnectorThread //! This event is the re-connection trigger. thread::ManualResetEvent trigger_ev; - //! When this variable set to true when ConnectorThread is signaled to + //! When this variable set to true when ConnectorThread is signaled to bool exit_flag; }; diff --git a/simpleserver/loggingserver.cxx b/simpleserver/loggingserver.cxx index 07878ce90..fab444045 100644 --- a/simpleserver/loggingserver.cxx +++ b/simpleserver/loggingserver.cxx @@ -54,7 +54,7 @@ class ReaperThread ~ReaperThread () { } - virtual void run (); + virtual void run () override; void signal_exit (); @@ -176,7 +176,7 @@ class ClientThread std::cout << "Client connection closed." << std::endl; } - virtual void run(); + virtual void run() override; private: log4cplus::thread::AbstractThreadPtr self_reference; diff --git a/src/asyncappender.cxx b/src/asyncappender.cxx index 698ad4a61..5de605871 100644 --- a/src/asyncappender.cxx +++ b/src/asyncappender.cxx @@ -45,7 +45,7 @@ class QueueThread public: QueueThread (AsyncAppenderPtr, thread::QueuePtr); - void run() override; + virtual void run() override; private: AsyncAppenderPtr appenders; diff --git a/tests/thread_test/main.cxx b/tests/thread_test/main.cxx index 4e41ce7ab..eae3ee2b9 100644 --- a/tests/thread_test/main.cxx +++ b/tests/thread_test/main.cxx @@ -68,7 +68,7 @@ class TestThread : public AbstractThread { , logger(Logger::getInstance(LOG4CPLUS_TEXT("test.TestThread"))) { } - virtual void run(); + virtual void run() override; private: tstring name; From cae77395ded72b1020f45223eb63a24b6b791e39 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 25 Dec 2023 11:02:27 +0100 Subject: [PATCH 247/353] Add logging macros LOG4CPLUS_*_FORMAT() based on C++20 std::format. --- include/log4cplus/loggingmacros.h | 42 ++++++++++++++++++++++++++++++- tests/ostream_test/expout | 1 + tests/ostream_test/main.cxx | 2 ++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index c250d160a..2bb307b12 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -37,7 +37,8 @@ #include #include #include - +#include +#include #if defined(_MSC_VER) #define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ @@ -279,6 +280,27 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() +#define LOG4CPLUS_MACRO_FORMAT_BODY(logger, logLevel, logFormat, ...) \ + LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ + do { \ + log4cplus::Logger const & _l \ + = log4cplus::detail::macros_get_logger (logger); \ + if LOG4CPLUS_MACRO_LOGLEVEL_PRED ( \ + _l.isEnabledFor (log4cplus::logLevel), logLevel) { \ + LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_oss); \ + std::format_to ( \ + std::ostreambuf_iterator (_oss), \ + logFormat, __VA_ARGS__); \ + LOG4CPLUS_MACRO_LOG_LOCATION (_logLocation); \ + log4cplus::detail::macro_forced_log (_l, \ + log4cplus::logLevel, _oss.str (), \ + _logLocation.file_name (), \ + _logLocation.line (), \ + _logLocation.function_name ()); \ + } \ + } while (false) \ + LOG4CPLUS_RESTORE_DOWHILE_WARNING() + /** * @def LOG4CPLUS_TRACE(logger, logEvent) This macro creates a * TraceLogger to log a TRACE_LOG_LEVEL message to logger @@ -295,12 +317,15 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, TRACE_LOG_LEVEL) #define LOG4CPLUS_TRACE_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, TRACE_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_TRACE_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, TRACE_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_TRACE_METHOD(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_TRACE(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_TRACE_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_TRACE_FMT(logger, logFmt, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_TRACE_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif @@ -316,11 +341,14 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, DEBUG_LOG_LEVEL) #define LOG4CPLUS_DEBUG_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, DEBUG_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_DEBUG_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, DEBUG_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_DEBUG(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_DEBUG_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_DEBUG_FMT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_DEBUG_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif @@ -336,11 +364,14 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, INFO_LOG_LEVEL) #define LOG4CPLUS_INFO_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, INFO_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_INFO_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, INFO_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_INFO(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_INFO_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_INFO_FMT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_INFO_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif @@ -356,11 +387,14 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, WARN_LOG_LEVEL) #define LOG4CPLUS_WARN_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, WARN_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_WARN_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, WARN_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_WARN(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_WARN_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_WARN_FMT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_WARN_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif @@ -376,11 +410,14 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, ERROR_LOG_LEVEL) #define LOG4CPLUS_ERROR_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, ERROR_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_ERROR_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, ERROR_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_ERROR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_ERROR_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_ERROR_FMT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_ERROR_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif @@ -396,11 +433,14 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, FATAL_LOG_LEVEL) #define LOG4CPLUS_FATAL_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, FATAL_LOG_LEVEL, __VA_ARGS__) +#define LOG4CPLUS_FATAL_FORMAT(logger, ...) \ + LOG4CPLUS_MACRO_FORMAT_BODY(logger, FATAL_LOG_LEVEL, __VA_ARGS__) #else #define LOG4CPLUS_FATAL(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_FATAL_STR(logger, logEvent) LOG4CPLUS_DOWHILE_NOTHING() #define LOG4CPLUS_FATAL_FMT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() +#define LOG4CPLUS_FATAL_FORMAT(logger, ...) LOG4CPLUS_DOWHILE_NOTHING() #endif diff --git a/tests/ostream_test/expout b/tests/ostream_test/expout index dd7b6e234..23e18239c 100644 --- a/tests/ostream_test/expout +++ b/tests/ostream_test/expout @@ -14,3 +14,4 @@ ERROR - This is a double: 1.2345234234 FATAL - This is a long double: 123452342342.25 WARN - The following message is empty: WARN - +INFO - 1st, 2nd diff --git a/tests/ostream_test/main.cxx b/tests/ostream_test/main.cxx index bc05067b4..9ab48d5fa 100644 --- a/tests/ostream_test/main.cxx +++ b/tests/ostream_test/main.cxx @@ -48,5 +48,7 @@ main() LOG4CPLUS_WARN(test, "The following message is empty:"); LOG4CPLUS_WARN(test, ""); + LOG4CPLUS_INFO_FORMAT(test, "{}, {}", "1st", "2nd"); + return 0; } From c923c96e37f765d4582c34844be2fcfff150b289 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 25 Dec 2023 11:57:42 +0100 Subject: [PATCH 248/353] Use GCC 10 in GitHub actions. --- .github/workflows/android.yml | 6 +++++- .github/workflows/c-cpp.yml | 21 +++++++++++++++++---- tests/ostream_test/main.cxx | 2 ++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 62f312128..77f4d6956 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -36,6 +36,10 @@ jobs: BUILD_MACHINE_OS_TYPE=$(uname | tr A-Z a-z) BUILD_MACHINE_OS_ARCH=$(uname -m) + ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME + ANDROID_NDK=$ANDROID_NDK_HOME + ANDROID_NDK_ROOT=$ANDROID_NDK_HOME + ANDROID_NDK_VERS=$(grep "Pkg.Revision" "$ANDROID_NDK_HOME/source.properties" | cut -d " " -f3) ANDROID_NDK_BASE=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$BUILD_MACHINE_OS_TYPE-$BUILD_MACHINE_OS_ARCH ANDROID_NDK_BIND=$ANDROID_NDK_BASE/bin @@ -53,7 +57,7 @@ jobs: -DCMAKE_VERBOSE_MAKEFILE=ON \ -DANDROID_TOOLCHAIN=clang \ -DANDROID_ABI=${{ matrix.target-abi }} \ - -DANDROID_PLATFORM=31 \ + -DANDROID_PLATFORM=latest \ -DANDROID_STL=c++_static \ -DCMAKE_CXX_STANDARD=20 \ -S . \ diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e21805438..d4df281ac 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -10,21 +10,34 @@ jobs: build: strategy: matrix: - os: ['ubuntu-latest', 'macos-latest'] + config: + - os: 'ubuntu-latest' + cc: 'gcc-13' + cxx: 'g++-13' + prereq: | + sudo apt install libstdc++-13-dev g++-13 gcc-13 + - os: 'macos-13' + cc: 'clang' + cxx: 'clang++' + prereq: | + sudo xcode-select -s '/Applications/Xcode_15.1.app/Contents/Developer' - - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.config.os }} steps: - uses: actions/checkout@v3 with: submodules: recursive + - name: install prerequisites + run: | + ${{ matrix.config.prereq }} - name: configure run: | + ${{ matrix.config.cxx }} --version ./scripts/fix-timestamps.sh mkdir objdir cd objdir - ../configure --enable-shared --enable-unit-tests --with-working-locale + ../configure CC='${{ matrix.config.cc }}' CXX='${{ matrix.config.cxx }}' --enable-shared --enable-unit-tests --with-working-locale - name: make run: cd objdir ; make - name: make check diff --git a/tests/ostream_test/main.cxx b/tests/ostream_test/main.cxx index 9ab48d5fa..534662b78 100644 --- a/tests/ostream_test/main.cxx +++ b/tests/ostream_test/main.cxx @@ -48,7 +48,9 @@ main() LOG4CPLUS_WARN(test, "The following message is empty:"); LOG4CPLUS_WARN(test, ""); +#if ! defined (__ANDROID__) LOG4CPLUS_INFO_FORMAT(test, "{}, {}", "1st", "2nd"); +#endif // ! defined (__ANDROID__) return 0; } From c09b0854212086e337cc7a3dd53bb9cfb91e1be3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 25 Dec 2023 18:49:05 +0100 Subject: [PATCH 249/353] Turn off Mac OS X GitHub action build. Mac OS X is missing std::format in header. --- .github/workflows/c-cpp.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d4df281ac..9ad6770c7 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,11 +16,13 @@ jobs: cxx: 'g++-13' prereq: | sudo apt install libstdc++-13-dev g++-13 gcc-13 - - os: 'macos-13' - cc: 'clang' - cxx: 'clang++' - prereq: | - sudo xcode-select -s '/Applications/Xcode_15.1.app/Contents/Developer' + # Mac OS X is missing the header or + # some of its funtions. + #- os: 'macos-13' + # cc: 'clang' + # cxx: 'clang++' + # prereq: | + # sudo xcode-select -s '/Applications/Xcode_15.1.app/Contents/Developer' runs-on: ${{ matrix.config.os }} From 5358f5f2c0273244a322c09e2f2a25f3dcd42b91 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 26 Dec 2023 15:36:21 +0100 Subject: [PATCH 250/353] Check for init_priority attribute in CMake based build. --- ConfigureChecks.cmake | 17 +++++++++++++++++ include/log4cplus/config.h.cmake.in | 6 +++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 737318034..a2b539188 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -127,6 +127,23 @@ endif() check_function_exists(gethostbyname_r LOG4CPLUS_HAVE_GETHOSTBYNAME_R) # TODO more complicated test in AC check_function_exists(getaddrinfo LOG4CPLUS_HAVE_GETADDRINFO ) # TODO more complicated test in AC +# Check availability of __attribute__ ((init_priority ((prio)))) +if(NOT DEFINED LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY) + check_c_source_compiles( + "#if defined (__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 1)) + # error Please fail. + #endif + + __attribute__ ((__init_priority__ ((200)))) int x = 1; + + int main(void) { return x == 1 ? 0 : 1; }" + HAVE_VAR_ATTRIBUTE_INIT_PRIORITY + ) + if(HAVE_VAR_ATTRIBUTE_INIT_PRIORITY) + set(LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY "1") + endif() +endif() + # Check availability of __attribute__((constructor(priority))). if(NOT DEFINED LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY) check_c_source_compiles( diff --git a/include/log4cplus/config.h.cmake.in b/include/log4cplus/config.h.cmake.in index 73faee376..8b1c83c90 100644 --- a/include/log4cplus/config.h.cmake.in +++ b/include/log4cplus/config.h.cmake.in @@ -183,9 +183,13 @@ /* */ #define LOG4CPLUS_HAVE_FUNCTION_MACRO 1 -/* */ +/* Define to 1 if the system has the `constructor' function attribute + with priority */ #cmakedefine LOG4CPLUS_HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR_PRIORITY 1 +/* Define to 1 if the system has the `init_priority' variable attribute */ +#cmakedefine LOG4CPLUS_HAVE_VAR_ATTRIBUTE_INIT_PRIORITY 1 + /* */ #cmakedefine LOG4CPLUS_HAVE_GETADDRINFO 1 From 1d2ff19390b5cd7fcde7a79b3f7a2fcf9e10e36c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 26 Dec 2023 16:01:22 +0100 Subject: [PATCH 251/353] Use __format__ in attribute. --- include/log4cplus/config.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index 77216b4ef..b0ae733fd 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -101,7 +101,7 @@ #if ! defined (UNICODE) && defined (__GNUC__) && __GNUC__ >= 3 # define LOG4CPLUS_FORMAT_ATTRIBUTE(archetype, format_index, first_arg_index) \ - __attribute__ ((format (archetype, format_index, first_arg_index))) + __attribute__ ((__format__ (archetype, format_index, first_arg_index))) #else # define LOG4CPLUS_FORMAT_ATTRIBUTE(archetype, fmt_index, first_arg_index) \ /* empty */ From a4831ca445d3fb20a15648e17e9b7780a1737ac4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 01:46:41 +0100 Subject: [PATCH 252/353] Two Doxygen docs fixes. --- include/log4cplus/fileappender.h | 2 +- include/log4cplus/spi/factory.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/log4cplus/fileappender.h b/include/log4cplus/fileappender.h index 4cdcdc277..c82a76ac0 100644 --- a/include/log4cplus/fileappender.h +++ b/include/log4cplus/fileappender.h @@ -123,7 +123,7 @@ namespace log4cplus //! provide UTF-8 locale in case UNICODE macro is defined. virtual std::locale imbue(std::locale const& loc); - //! \returns Locale imbued in fstream. + //! \return Locale imbued in fstream. virtual std::locale getloc () const; protected: diff --git a/include/log4cplus/spi/factory.h b/include/log4cplus/spi/factory.h index 8c5234bbd..45853ea27 100644 --- a/include/log4cplus/spi/factory.h +++ b/include/log4cplus/spi/factory.h @@ -130,7 +130,7 @@ namespace log4cplus { LocaleFactory(); virtual ~LocaleFactory() = 0; - //! \returns std::locale instance + //! \return std::locale instance virtual ProductPtr createObject ( const log4cplus::helpers::Properties & props) = 0; }; From cdcbada9230e918612981f03d3e8a2fe2ac1d769 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 02:11:48 +0100 Subject: [PATCH 253/353] MDC: Implement MDCGuard. This bring MDC API changes. --- include/log4cplus/internal/internal.h | 2 +- include/log4cplus/mdc.h | 94 ++++++++- src/mdc.cxx | 279 +++++++++++++++++++++++--- 3 files changed, 338 insertions(+), 37 deletions(-) diff --git a/include/log4cplus/internal/internal.h b/include/log4cplus/internal/internal.h index 4cb44852e..f16aec0ff 100644 --- a/include/log4cplus/internal/internal.h +++ b/include/log4cplus/internal/internal.h @@ -118,7 +118,7 @@ struct per_thread_data tostringstream macros_oss; tostringstream layout_oss; DiagnosticContextStack ndc_dcs; - MappedDiagnosticContextMap mdc_map; + MappedDiagnosticContext mdc; log4cplus::tstring thread_name; log4cplus::tstring thread_name2; gft_scratch_pad gft_sp; diff --git a/include/log4cplus/mdc.h b/include/log4cplus/mdc.h index 49512982c..206e68041 100644 --- a/include/log4cplus/mdc.h +++ b/include/log4cplus/mdc.h @@ -1,16 +1,16 @@ // -*- C++ -*- // Copyright (C) 2010-2017, Vaclav Haisman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -34,15 +34,52 @@ #include #include +#include +#include +#include +#include namespace log4cplus { +//! Mapped diagnostic context stack of previous values. +using MappedDiagnosticContextStack = std::deque; -typedef std::map MappedDiagnosticContextMap; +//! Mapped diagnostic context map of keys to stacks of values. +using MappedDiagnosticContextStacksMap + = std::unordered_map; +//! Mapped diagnostic context map, keys to values. +using MappedDiagnosticContextMap = std::map; +//! Internal MDC storage. +struct LOG4CPLUS_EXPORT MappedDiagnosticContext final +{ + MappedDiagnosticContext (); + ~MappedDiagnosticContext (); + + MappedDiagnosticContext(MappedDiagnosticContext const &) = delete; + MappedDiagnosticContext(MappedDiagnosticContext &&) = delete; + + MappedDiagnosticContext & operator = (MappedDiagnosticContext const &) = delete; + MappedDiagnosticContext & operator = (MappedDiagnosticContext &&) = delete; + + void clear (); + + + //! Backing map for the mapped diagnostic context. + //! This allows MDCGuard to push and pop values. + MappedDiagnosticContextStacksMap stacks_map; + + //! Current mapped diagnostic context map. + //! This map is used for rendering in layouts. + //! \see MDC::getContext + MappedDiagnosticContextMap context_map; +}; + + +//! Mapped diagnostic context class LOG4CPLUS_EXPORT MDC { public: @@ -53,8 +90,34 @@ class LOG4CPLUS_EXPORT MDC */ void clear(); + /** + * @{ + * \brief Put key-value pair into MDC. + * + * \param key MDC key + * \param value MDC value + */ void put (tstring const & key, tstring const & value); - bool get (tstring * value, tstring const & key) const; + void put (tstring const & key, tstring && value); + /**@}*/ + + /** + * @{ + * \brief Push key-value pair into MDC. It is possible to pop + * the previous value later. + * + * \param key MDC key + * \param value MDC value + * \return std::optional Return previous value, if any, + * stored in MDC. + */ + void push (tstring const & key, tstring const & value); + void push (tstring const & key, tstring && value); + /**@}*/ + + void pop (tstring const & key); + + std::optional get (tstring const & key) const; void remove (tstring const & key); MappedDiagnosticContextMap const & getContext () const; @@ -64,7 +127,24 @@ class LOG4CPLUS_EXPORT MDC virtual ~MDC (); private: - LOG4CPLUS_PRIVATE static MappedDiagnosticContextMap * getPtr (); + LOG4CPLUS_PRIVATE static MappedDiagnosticContext * getPtr (); +}; + + +class LOG4CPLUS_EXPORT MDCGuard +{ +public: + MDCGuard (tstring const &&, tstring const &&); + MDCGuard (tstring const &, tstring const &); + ~MDCGuard (); + + MDCGuard (MDCGuard &&) = delete; + MDCGuard (MDCGuard const &) = delete; + MDCGuard & operator = (MDCGuard const &) = delete; + MDCGuard & operator = (MDCGuard &&) = delete; + +private: + tstring key; }; diff --git a/src/mdc.cxx b/src/mdc.cxx index d951036df..6e9bab099 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -21,6 +21,9 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include +#include +#include #include #include @@ -32,6 +35,29 @@ namespace log4cplus { +// +// MappedDiagnosticContext +// + +MappedDiagnosticContext::MappedDiagnosticContext () +{ } + + +MappedDiagnosticContext::~MappedDiagnosticContext () +{ } + + +void +MappedDiagnosticContext::clear () +{ + stacks_map.clear (); + context_map.clear (); +} + + +// +// MDC +// MDC::MDC () = default; @@ -39,91 +65,286 @@ MDC::MDC () = default; MDC::~MDC () = default; -MappedDiagnosticContextMap * +MappedDiagnosticContext * MDC::getPtr () { - return &internal::get_ptd ()->mdc_map; + return &internal::get_ptd ()->mdc; } void MDC::clear() { - MappedDiagnosticContextMap * const dc = getPtr (); - MappedDiagnosticContextMap ().swap (*dc); + MappedDiagnosticContext * const dc = getPtr (); + dc->clear (); +} + + +template +static +auto +insert_or_assign (Map & map, Key && key, Value && value) +-> std::optional::type> +{ + using ValueType = typename std::remove_cvref::type; + auto result = map.emplace (key, std::forward (value)); + if (result.second) + return std::optional (); + else + { + auto & map_value = result.first->second; + ValueType old_value {std::move (map_value)}; + map_value = std::forward (value); + return std::optional (std::move (old_value)); + } } void MDC::put (tstring const & key, tstring const & value) { - MappedDiagnosticContextMap * const dc = getPtr (); - (*dc)[key] = value; + MappedDiagnosticContextMap & mdc_map = getPtr ()->context_map; + insert_or_assign (mdc_map, key, value); } -bool -MDC::get (tstring * value, tstring const & key) const +void +MDC::put (tstring const & key, tstring && value) { - assert (value); + MappedDiagnosticContextMap & mdc_map = getPtr ()->context_map; + insert_or_assign (mdc_map, key, std::move (value)); +} + - MappedDiagnosticContextMap * const dc = getPtr (); - auto it = dc->find (key); - if (it != dc->end ()) +template +static +void +push_to_stack (StackMap & stacks_map, Key && key, Value && value) +{ + auto it = stacks_map.find (key); + if (it != stacks_map.end ()) { - *value = it->second; - return true; + MappedDiagnosticContextStack & stack = it->second; + stack.push_back (std::forward (value)); } else - return false; + { + stacks_map.emplace (std::piecewise_construct, + std::forward_as_tuple (std::forward(key)), + std::forward_as_tuple ( + MappedDiagnosticContextStack::size_type (1), + std::forward (value))); + + } +} + + +void +MDC::push (tstring const & key, tstring && value) +{ + MappedDiagnosticContext & mdc = *getPtr (); + + MappedDiagnosticContextMap & mdc_map = mdc.context_map; + auto opt_prev {insert_or_assign (mdc_map, key, std::move (value))}; + + if (opt_prev.has_value ()) + { + MappedDiagnosticContextStacksMap & stacks_map = mdc.stacks_map; + push_to_stack (stacks_map, key, std::move (*opt_prev)); + } +} + + +void +MDC::push (tstring const & key, tstring const & value) +{ + MappedDiagnosticContext & mdc = *getPtr (); + + MappedDiagnosticContextMap & mdc_map = mdc.context_map; + auto opt_prev {insert_or_assign (mdc_map, key, value)}; + + if (opt_prev.has_value ()) + { + MappedDiagnosticContextStacksMap & stacks_map = mdc.stacks_map; + push_to_stack (stacks_map, key, std::move (*opt_prev)); + } +} + + +void +MDC::pop (tstring const & key) +{ + MappedDiagnosticContext & mdc = *getPtr (); + + MappedDiagnosticContextMap & mdc_map = mdc.context_map; + MappedDiagnosticContextStacksMap & stacks_map = mdc.stacks_map; + auto it = stacks_map.find (key); + if (it != stacks_map.end ()) + { + MappedDiagnosticContextStack & stack = it->second; + if (! stack.empty ()) + { + insert_or_assign (mdc_map, key, std::move (stack.back ())); + stack.pop_back (); + return; + } + } + + mdc_map.erase (key); +} + + +std::optional +MDC::get (tstring const & key) const +{ + MappedDiagnosticContextMap const & dc = getPtr ()->context_map; + auto it = dc.find (key); + if (it != dc.end ()) + return std::optional (it->second); + else + return std::optional (); } void MDC::remove (tstring const & key) { - MappedDiagnosticContextMap * const dc = getPtr (); - dc->erase (key); + MappedDiagnosticContextMap & dc = getPtr ()->context_map; + dc.erase (key); } MappedDiagnosticContextMap const & MDC::getContext () const { - return *getPtr (); + return getPtr ()->context_map; +} + + +// +// MDCGuard +// + +MDCGuard::MDCGuard (tstring const && key_, tstring const && value) + : key (std::move (key_)) +{ + MDC & mdc = getMDC (); + mdc.push (key, std::move (value)); +} + + +MDCGuard::MDCGuard (tstring const & key_, tstring const & value) + : key (key_) +{ + MDC & mdc = getMDC (); + mdc.push (key, value); +} + + +MDCGuard::~MDCGuard () +{ + MDC & mdc = getMDC (); + mdc.pop (key); } +// +// Tests +// + #if defined (LOG4CPLUS_WITH_UNIT_TESTS) CATCH_TEST_CASE ("MDC", "[MDC]") { + tstring const a {LOG4CPLUS_TEXT ("a")}; + tstring const value1 {LOG4CPLUS_TEXT ("value1")}; + tstring value2 {LOG4CPLUS_TEXT ("value2")}; + tstring str; + std::optional opt_str; MDC & mdc = getMDC (); mdc.put (LOG4CPLUS_TEXT ("key1"), LOG4CPLUS_TEXT ("value1")); mdc.put (LOG4CPLUS_TEXT ("key2"), LOG4CPLUS_TEXT ("value2")); CATCH_SECTION ("get") { - CATCH_REQUIRE (mdc.get (&str, LOG4CPLUS_TEXT ("key1"))); - CATCH_REQUIRE (str == LOG4CPLUS_TEXT ("value1")); - CATCH_REQUIRE (mdc.get (&str, LOG4CPLUS_TEXT ("key2"))); - CATCH_REQUIRE (str == LOG4CPLUS_TEXT ("value2")); - CATCH_REQUIRE (! mdc.get (&str, LOG4CPLUS_TEXT ("nonexisting"))); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("key1"))).has_value ()); + CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value1")); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("key2"))).has_value ()); + CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value2")); + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("nonexisting")).has_value ()); } CATCH_SECTION ("remove") { mdc.remove (LOG4CPLUS_TEXT ("key1")); - CATCH_REQUIRE (! mdc.get (&str, LOG4CPLUS_TEXT ("key1"))); - CATCH_REQUIRE (mdc.get (&str, LOG4CPLUS_TEXT ("key2"))); - CATCH_REQUIRE (str == LOG4CPLUS_TEXT ("value2")); + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("key1")).has_value ()); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("key2"))).has_value ()); + CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value2")); } - CATCH_SECTION ("clear") + CATCH_SECTION ("clear") { mdc.clear (); - CATCH_REQUIRE (! mdc.get (&str, LOG4CPLUS_TEXT ("key1"))); - CATCH_REQUIRE (! mdc.get (&str, LOG4CPLUS_TEXT ("key2"))); + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("key1")).has_value ()); + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("key2")).has_value ()); + } + + CATCH_SECTION ("insert_or_assign") + { + MappedDiagnosticContextMap map; + + // Insert a value using lvalues. + std::optional opt1 {insert_or_assign (map, a, value1)}; + CATCH_REQUIRE (value1 == LOG4CPLUS_TEXT ("value1")); + CATCH_REQUIRE (!opt1.has_value ()); + CATCH_REQUIRE (map[LOG4CPLUS_TEXT ("a")] == LOG4CPLUS_TEXT ("value1")); + + // Insert a different value with the same key. + std::optional opt2 {insert_or_assign (map, a, value2)}; + CATCH_REQUIRE (value2 == LOG4CPLUS_TEXT ("value2")); + CATCH_REQUIRE (opt2.has_value ()); + CATCH_REQUIRE (*opt2 == LOG4CPLUS_TEXT ("value1")); + CATCH_REQUIRE (map[LOG4CPLUS_TEXT ("a")] == LOG4CPLUS_TEXT ("value2")); + } + + CATCH_SECTION ("push_to_stack") + { + MappedDiagnosticContextStacksMap map; + + push_to_stack(map, a, value1); + CATCH_REQUIRE (value1 == LOG4CPLUS_TEXT ("value1")); + auto & stack = map[a]; + CATCH_REQUIRE (stack.size () == 1); + CATCH_REQUIRE (std::find (stack.begin (), stack.end (), value1) != stack.end ()); + + push_to_stack(map, a, value2); + CATCH_REQUIRE (value2 == LOG4CPLUS_TEXT ("value2")); + CATCH_REQUIRE (stack.size () == 2); + CATCH_REQUIRE (std::find (stack.begin (), stack.end (), value1) != stack.end ()); + CATCH_REQUIRE (std::find (stack.begin (), stack.end (), value2) != stack.end ()); + } + + CATCH_SECTION ("MDCGuard") + { + { + mdc.clear (); + + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("a")).has_value ()); + { + MDCGuard guard1 (LOG4CPLUS_TEXT ("a"), LOG4CPLUS_TEXT ("value1")); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); + CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value1")); + { + CATCH_REQUIRE (value2 != LOG4CPLUS_TEXT ("value1")); + MDCGuard guard2 (LOG4CPLUS_TEXT ("a"), value2); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); + CATCH_REQUIRE (*opt_str == value2); + } + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); + CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value1")); + } + CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("a")).has_value ()); + } } } From d1a1aaf34e59669c9e6f43dcda75266363bc95d9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 11:46:11 +0100 Subject: [PATCH 254/353] Update with Autoconf 2.72. Invoke AC_SYS_YEAR2038 macro. --- aclocal.m4 | 4 +- configure | 3209 ++++++++++++++++++++++++--------------- configure.ac | 2 + scripts/doautoreconf.sh | 2 +- tests/testsuite | 134 +- 5 files changed, 2014 insertions(+), 1337 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index b7382fe6a..414793491 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -14,8 +14,8 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, -[m4_warning([this file was generated for autoconf 2.71. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],, +[m4_warning([this file was generated for autoconf 2.72. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) diff --git a/configure b/configure index a44355e08..b29f5f9f5 100755 --- a/configure +++ b/configure @@ -1,9 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for log4cplus 3.0.0. +# Generated by GNU Autoconf 2.72 for log4cplus 3.0.0. # # -# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, # Inc. # # @@ -15,7 +15,6 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -24,12 +23,13 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi @@ -101,7 +101,7 @@ IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -131,15 +131,14 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. +# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="as_nop=: -if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 + as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: @@ -147,12 +146,13 @@ then : # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else \$as_nop - case \`(set -o) 2>/dev/null\` in #( +else case e in #( + e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi " @@ -170,8 +170,9 @@ as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else \$as_nop - exitcode=1; echo positional parameters were not saved. +else case e in #( + e) exitcode=1; echo positional parameters were not saved. ;; +esac fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah)) @@ -193,14 +194,15 @@ test \$(( 1 + 1 )) = 2 || exit 1 if (eval "$as_required") 2>/dev/null then : as_have_required=yes -else $as_nop - as_have_required=no +else case e in #( + e) as_have_required=no ;; +esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else $as_nop - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do @@ -233,12 +235,13 @@ IFS=$as_save_IFS if $as_found then : -else $as_nop - if { test -f "$SHELL" || test -f "$SHELL.exe"; } && +else case e in #( + e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes -fi +fi ;; +esac fi @@ -260,7 +263,7 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. +# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi @@ -279,7 +282,8 @@ $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 -fi +fi ;; +esac fi fi SHELL=${CONFIG_SHELL-/bin/sh} @@ -318,14 +322,6 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -394,11 +390,12 @@ then : { eval $1+=\$2 }' -else $as_nop - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -412,21 +409,14 @@ then : { as_val=$(( $* )) }' -else $as_nop - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -500,6 +490,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits /[$]LINENO/= ' <$as_myself | sed ' + t clear + :clear s/[$]LINENO.*/&-/ t lineno b @@ -548,7 +540,6 @@ esac as_echo='printf %s\n' as_echo_n='printf %s' - rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -560,9 +551,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -587,10 +578,12 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated SHELL=${CONFIG_SHELL-/bin/sh} @@ -656,6 +649,7 @@ ac_includes_default="\ #endif" ac_header_cxx_list= +enable_year2038=yes ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -873,6 +867,7 @@ with_wchar_t_support enable_tests enable_unit_tests enable_lto +enable_largefile enable_profiling enable_threads with_qt @@ -889,6 +884,7 @@ with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock +enable_year2038 ' ac_precious_vars='build_alias host_alias @@ -1021,7 +1017,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1047,7 +1043,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" + as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1260,7 +1256,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1276,7 +1272,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" + as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1306,8 +1302,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) as_fn_error $? "unrecognized option: '$ac_option' +Try '$0 --help' for more information" ;; *=*) @@ -1315,7 +1311,7 @@ Try \`$0 --help' for more information" # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: '$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1365,7 +1361,7 @@ do as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done -# There might be people who depend on the old broken behavior: `$host' +# There might be people who depend on the old broken behavior: '$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias @@ -1433,7 +1429,7 @@ if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` @@ -1461,7 +1457,7 @@ if test "$ac_init_help" = "long"; then # 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 log4cplus 3.0.0 to adapt to many kinds of systems. +'configure' configures log4cplus 3.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1475,11 +1471,11 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print 'checking ...' messages --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' + -C, --config-cache alias for '--cache-file=config.cache' -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] + --srcdir=DIR find the sources in DIR [configure dir or '..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX @@ -1487,10 +1483,10 @@ Installation directories: --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. +By default, 'make install' will install all the files in +'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify +an installation prefix other than '$ac_default_prefix' using '--prefix', +for instance '--prefix=\$HOME'. For better control, use the options below. @@ -1568,6 +1564,7 @@ Optional Features: --enable-tests Enable tests [default=yes] --enable-unit-tests Enable unit tests [default=no] --enable-lto Enable LTO build [default=no] + --disable-largefile omit support for large files --enable-profiling Compile with profiling compiler options. [default=no] --enable-threads Create multi-threaded variant [default=yes] @@ -1576,6 +1573,7 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --disable-year2038 don't support timestamps after 2038 Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1633,7 +1631,7 @@ Some influential environment variables: LT_SYS_LIBRARY_PATH User-defined run-time library search path. -Use these variables to override the choices made by `configure' or to help +Use these variables to override the choices made by 'configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. @@ -1701,9 +1699,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF log4cplus configure 3.0.0 -generated by GNU Autoconf 2.71 +generated by GNU Autoconf 2.72 -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1742,11 +1740,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -1781,11 +1780,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 } && test -s conftest.$ac_objext then : ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -1819,11 +1819,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 } then : ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval @@ -1861,11 +1862,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 } then : ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would @@ -1908,11 +1910,12 @@ printf "%s\n" "$ac_try_echo"; } >&5 } then : ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1 + ac_retval=1 ;; +esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would @@ -1936,8 +1939,8 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> @@ -1945,10 +1948,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : eval "$3=yes" -else $as_nop - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -1968,15 +1973,15 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. */ + which can conflict with char $2 (void); below. */ #include #undef $2 @@ -1987,7 +1992,7 @@ else $as_nop #ifdef __cplusplus extern "C" #endif -char $2 (); +char $2 (void); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ @@ -2006,11 +2011,13 @@ _ACEOF if ac_fn_cxx_try_link "$LINENO" then : eval "$3=yes" -else $as_nop - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext + conftest$ac_exeext conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2031,8 +2038,8 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> @@ -2040,10 +2047,12 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" -else $as_nop - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2063,15 +2072,15 @@ printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. */ + which can conflict with char $2 (void); below. */ #include #undef $2 @@ -2082,7 +2091,7 @@ else $as_nop #ifdef __cplusplus extern "C" #endif -char $2 (); +char $2 (void); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ @@ -2101,11 +2110,13 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$3=yes" -else $as_nop - eval "$3=no" +else case e in #( + e) eval "$3=no" ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext + conftest$ac_exeext conftest.$ac_ext ;; +esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -2138,7 +2149,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by log4cplus $as_me 3.0.0, which was -generated by GNU Autoconf 2.71. Invocation command line was +generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -2384,10 +2395,10 @@ esac printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } fi done @@ -2423,9 +2434,7 @@ struct stat; /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ struct buf { int x; }; struct buf * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; +static char *e (char **p, int i) { return p[i]; } @@ -2439,6 +2448,21 @@ static char *f (char * (*g) (char **, int), char **p, ...) return s; } +/* C89 style stringification. */ +#define noexpand_stringify(a) #a +const char *stringified = noexpand_stringify(arbitrary+token=sequence); + +/* C89 style token pasting. Exercises some of the corner cases that + e.g. old MSVC gets wrong, but not very hard. */ +#define noexpand_concat(a,b) a##b +#define expand_concat(a,b) noexpand_concat(a,b) +extern int vA; +extern int vbee; +#define aye A +#define bee B +int *pvA = &expand_concat(v,aye); +int *pvbee = &noexpand_concat(v,bee); + /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not \xHH hex character constants. These do not provoke an error unfortunately, instead are silently treated @@ -2466,16 +2490,19 @@ ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals=' -// Does the compiler advertise C99 conformance? +/* Does the compiler advertise C99 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif +// See if C++-style comments work. + #include extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t); +extern void free (void *); // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare @@ -2525,7 +2552,6 @@ typedef const char *ccp; static inline int test_restrict (ccp restrict text) { - // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) @@ -2591,6 +2617,8 @@ ac_c_conftest_c99_main=' ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; + // Work around memory leak warnings. + free (ia); // Check named initializers. struct named_init ni = { @@ -2612,7 +2640,7 @@ ac_c_conftest_c99_main=' # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals=' -// Does the compiler advertise C11 conformance? +/* Does the compiler advertise C11 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif @@ -3020,8 +3048,9 @@ IFS=$as_save_IFS if $as_found then : -else $as_nop - as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +else case e in #( + e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; +esac fi @@ -3049,12 +3078,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -3063,18 +3092,18 @@ printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. @@ -3090,11 +3119,11 @@ printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## @@ -3120,15 +3149,16 @@ printf %s "checking build system type... " >&6; } if test ${ac_cv_build+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_build_alias=$build_alias +else case e in #( + e) ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 printf "%s\n" "$ac_cv_build" >&6; } @@ -3155,14 +3185,15 @@ printf %s "checking host system type... " >&6; } if test ${ac_cv_host+y} then : printf %s "(cached) " >&6 -else $as_nop - if test "x$host_alias" = x; then +else case e in #( + e) if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 printf "%s\n" "$ac_cv_host" >&6; } @@ -3189,14 +3220,15 @@ printf %s "checking target system type... " >&6; } if test ${ac_cv_target+y} then : printf %s "(cached) " >&6 -else $as_nop - if test "x$target_alias" = x; then +else case e in #( + e) if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 printf "%s\n" "$ac_cv_target" >&6; } @@ -3249,8 +3281,8 @@ if test -z "$INSTALL"; then if test ${ac_cv_path_install+y} then : printf %s "(cached) " >&6 -else $as_nop - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS @@ -3304,7 +3336,8 @@ esac IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir - + ;; +esac fi if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install @@ -3400,7 +3433,7 @@ test "$program_prefix" != NONE && test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. -# By default was `s,x,x', remove it if useless. +# By default was 's,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` @@ -3443,8 +3476,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$STRIP"; then +else case e in #( + e) if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3466,7 +3499,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then @@ -3488,8 +3522,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_STRIP"; then +else case e in #( + e) if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3511,7 +3545,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then @@ -3547,8 +3582,8 @@ if test -z "$MKDIR_P"; then if test ${ac_cv_path_mkdir+y} then : printf %s "(cached) " >&6 -else $as_nop - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS @@ -3562,7 +3597,7 @@ do as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir ('*'coreutils) '* | \ - 'BusyBox '* | \ + *'BusyBox '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; @@ -3571,18 +3606,17 @@ do done done IFS=$as_save_IFS - + ;; +esac fi test -d ./--version && rmdir ./--version if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" + # As a last resort, use plain mkdir -p, + # in the hope it doesn't have the bugs of ancient mkdir. + MKDIR_P='mkdir -p' fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 @@ -3597,8 +3631,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$AWK"; then +else case e in #( + e) if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3620,7 +3654,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then @@ -3642,8 +3677,8 @@ ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 -else $as_nop - cat >conftest.make <<\_ACEOF +else case e in #( + e) cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' @@ -3655,7 +3690,8 @@ case `${MAKE-make} -f conftest.make 2>/dev/null` in *) eval ac_cv_prog_make_${ac_make}_set=no;; esac -rm -f conftest.make +rm -f conftest.make ;; +esac fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -3693,8 +3729,8 @@ printf %s "checking whether $am_make supports nested variables... " >&6; } if test ${am_cv_make_support_nested_variables+y} then : printf %s "(cached) " >&6 -else $as_nop - if printf "%s\n" 'TRUE=$(BAR$(V)) +else case e in #( + e) if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -3704,7 +3740,8 @@ am__doit: am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no -fi +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } @@ -3846,8 +3883,9 @@ printf %s "checking whether to enable maintainer-specific portions of Makefiles. if test ${enable_maintainer_mode+y} then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else $as_nop - USE_MAINTAINER_MODE=yes +else case e in #( + e) USE_MAINTAINER_MODE=yes ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 @@ -3949,8 +3987,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3972,7 +4010,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -3994,8 +4033,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4017,7 +4056,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4052,8 +4092,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4075,7 +4115,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4097,8 +4138,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no @@ -4137,7 +4178,8 @@ if test $ac_prog_rejected = yes; then ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4161,8 +4203,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4184,7 +4226,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4210,8 +4253,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4233,7 +4276,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4271,8 +4315,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then +else case e in #( + e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4294,7 +4338,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then @@ -4316,8 +4361,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CC"; then +else case e in #( + e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -4339,7 +4384,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then @@ -4368,10 +4414,10 @@ fi fi -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4443,8 +4489,8 @@ printf "%s\n" "$ac_try_echo"; } >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' + # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. +# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. @@ -4464,7 +4510,7 @@ do ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' + # safe: cross compilers may not add the suffix if given an '-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. @@ -4475,8 +4521,9 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else $as_nop - ac_file='' +else case e in #( + e) ac_file='' ;; +esac fi if test -z "$ac_file" then : @@ -4485,13 +4532,14 @@ printf "%s\n" "no" >&6; } printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } +See 'config.log' for more details" "$LINENO" 5; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } @@ -4515,10 +4563,10 @@ printf "%s\n" "$ac_try_echo"; } >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. + # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) +# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will +# work properly (i.e., refer to 'conftest.exe'), while it won't with +# 'rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in @@ -4528,11 +4576,12 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4548,6 +4597,8 @@ int main (void) { FILE *f = fopen ("conftest.out", "w"); + if (!f) + return 1; return ferror (f) || fclose (f) != 0; ; @@ -4587,26 +4638,27 @@ printf "%s\n" "$ac_try_echo"; } >&5 if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } +If you meant to cross compile, use '--host'. +See 'config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +rm -f conftest.$ac_ext conftest$ac_cv_exeext \ + conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4638,16 +4690,18 @@ then : break;; esac done -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 +else case e in #( + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext +rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; } @@ -4658,8 +4712,8 @@ printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4676,12 +4730,14 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no +else case e in #( + e) ac_compiler_gnu=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } @@ -4699,8 +4755,8 @@ printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_save_c_werror_flag=$ac_c_werror_flag +else case e in #( + e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" @@ -4718,8 +4774,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes -else $as_nop - CFLAGS="" +else case e in #( + e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4734,8 +4790,8 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : -else $as_nop - ac_c_werror_flag=$ac_save_c_werror_flag +else case e in #( + e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4752,12 +4808,15 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag + ac_c_werror_flag=$ac_save_c_werror_flag ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } @@ -4784,8 +4843,8 @@ printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c11=no +else case e in #( + e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4802,25 +4861,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC +CC=$ac_save_CC ;; +esac fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c11" = x +else case e in #( + e) if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } - CC="$CC $ac_cv_prog_cc_c11" + CC="$CC $ac_cv_prog_cc_c11" ;; +esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 - ac_prog_cc_stdc=c11 + ac_prog_cc_stdc=c11 ;; +esac fi fi if test x$ac_prog_cc_stdc = xno @@ -4830,8 +4892,8 @@ printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c99=no +else case e in #( + e) ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4848,25 +4910,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC +CC=$ac_save_CC ;; +esac fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c99" = x +else case e in #( + e) if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } - CC="$CC $ac_cv_prog_cc_c99" + CC="$CC $ac_cv_prog_cc_c99" ;; +esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 - ac_prog_cc_stdc=c99 + ac_prog_cc_stdc=c99 ;; +esac fi fi if test x$ac_prog_cc_stdc = xno @@ -4876,8 +4941,8 @@ printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c89=no +else case e in #( + e) ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4894,25 +4959,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext -CC=$ac_save_CC +CC=$ac_save_CC ;; +esac fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c89" = x +else case e in #( + e) if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } - CC="$CC $ac_cv_prog_cc_c89" + CC="$CC $ac_cv_prog_cc_c89" ;; +esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 - ac_prog_cc_stdc=c89 + ac_prog_cc_stdc=c89 ;; +esac fi fi @@ -4933,8 +5001,8 @@ printf %s "checking whether $CC understands -c and -o together... " >&6; } if test ${am_cv_prog_cc_c_o+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4964,7 +5032,8 @@ _ACEOF fi done rm -f core conftest* - unset am_i + unset am_i ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } @@ -4990,8 +5059,8 @@ printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CC_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +else case e in #( + e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up @@ -5095,7 +5164,8 @@ else $as_nop else am_cv_CC_dependencies_compiler_type=none fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } @@ -5124,8 +5194,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$AR"; then +else case e in #( + e) if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5147,7 +5217,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi AR=$ac_cv_prog_AR if test -n "$AR"; then @@ -5173,8 +5244,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_AR"; then +else case e in #( + e) if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5196,7 +5267,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then @@ -5231,8 +5303,8 @@ printf %s "checking the archiver ($AR) interface... " >&6; } if test ${am_cv_ar_interface+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_ext=c +else case e in #( + e) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5275,7 +5347,8 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 printf "%s\n" "$am_cv_ar_interface" >&6; } @@ -5327,8 +5400,9 @@ if test ${with_working_locale+y} then : withval=$with_working_locale; log4cplus_check_yesno_func "${withval}" "--with-working-locale" -else $as_nop - with_working_locale=no +else case e in #( + e) with_working_locale=no ;; +esac fi @@ -5345,8 +5419,9 @@ if test ${with_working_c_locale+y} then : withval=$with_working_c_locale; log4cplus_check_yesno_func "${withval}" "--with-working-c-locale" -else $as_nop - with_working_c_locale=no +else case e in #( + e) with_working_c_locale=no ;; +esac fi @@ -5363,8 +5438,9 @@ if test ${with_iconv+y} then : withval=$with_iconv; log4cplus_check_yesno_func "${withval}" "--with-iconv" -else $as_nop - with_iconv=no +else case e in #( + e) with_iconv=no ;; +esac fi @@ -5389,8 +5465,9 @@ if test ${enable_debugging+y} then : enableval=$enable_debugging; log4cplus_check_yesno_func "${enableval}" "--enable-debugging" -else $as_nop - enable_debugging=no +else case e in #( + e) enable_debugging=no ;; +esac fi @@ -5408,8 +5485,9 @@ then : *) : ;; esac -else $as_nop - LOG4CPLUS_NDEBUG=-DNDEBUG +else case e in #( + e) LOG4CPLUS_NDEBUG=-DNDEBUG ;; +esac fi @@ -5419,8 +5497,9 @@ if test ${enable_warnings+y} then : enableval=$enable_warnings; log4cplus_check_yesno_func "${enableval}" "--enable-warnings" -else $as_nop - enable_warnings=yes +else case e in #( + e) enable_warnings=yes ;; +esac fi @@ -5430,8 +5509,9 @@ if test ${enable_so_version+y} then : enableval=$enable_so_version; log4cplus_check_yesno_func "${enableval}" "--enable-so-version" -else $as_nop - enable_so_version=yes +else case e in #( + e) enable_so_version=yes ;; +esac fi if test "x$enable_so_version" = "xyes"; then @@ -5449,15 +5529,17 @@ if test ${enable_implicit_initialization+y} then : enableval=$enable_implicit_initialization; log4cplus_check_yesno_func "${enableval}" "--enable-implicit-initialization" -else $as_nop - enable_implicit_initialization=yes +else case e in #( + e) enable_implicit_initialization=yes ;; +esac fi if test "x$enable_implicit_initialization" = "xyes" then : -else $as_nop - as_fn_append CPPFLAGS " -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1" +else case e in #( + e) as_fn_append CPPFLAGS " -DLOG4CPLUS_REQUIRE_EXPLICIT_INITIALIZATION=1" ;; +esac fi @@ -5466,8 +5548,9 @@ if test ${enable_thread_pool+y} then : enableval=$enable_thread_pool; log4cplus_check_yesno_func "${enableval}" "--enable-thread-pool" -else $as_nop - enable_thread_pool=yes +else case e in #( + e) enable_thread_pool=yes ;; +esac fi if test "x$enable_thread_pool" = "xyes" @@ -5481,8 +5564,9 @@ if test ${enable_release_version+y} then : enableval=$enable_release_version; log4cplus_check_yesno_func "${enableval}" "--enable-release-version" -else $as_nop - enable_release_version=yes +else case e in #( + e) enable_release_version=yes ;; +esac fi if test "x$enable_release_version" = "xyes"; then @@ -5500,8 +5584,9 @@ if test ${enable_symbols_visibility_options+y} then : enableval=$enable_symbols_visibility_options; log4cplus_check_yesno_func "${enableval}" "--enable-symbols-visibility-options" -else $as_nop - enable_symbols_visibility_options=yes +else case e in #( + e) enable_symbols_visibility_options=yes ;; +esac fi @@ -5512,8 +5597,9 @@ if test ${with_wchar_t_support+y} then : withval=$with_wchar_t_support; log4cplus_check_yesno_func "${withval}" "--with-wchar_t-support" -else $as_nop - with_wchar_t_support=yes +else case e in #( + e) with_wchar_t_support=yes ;; +esac fi if test "x$with_wchar_t_support" = "xyes"; then @@ -5533,8 +5619,9 @@ if test ${enable_tests+y} then : enableval=$enable_tests; log4cplus_check_yesno_func "${enableval}" "--enable-tests" -else $as_nop - enable_tests=yes +else case e in #( + e) enable_tests=yes ;; +esac fi if test "x$enable_tests" = "xyes"; then @@ -5552,8 +5639,9 @@ if test ${enable_unit_tests+y} then : enableval=$enable_unit_tests; log4cplus_check_yesno_func "${enableval}" "--enable-unit-tests" -else $as_nop - enable_unit_tests=no +else case e in #( + e) enable_unit_tests=no ;; +esac fi @@ -5569,8 +5657,9 @@ if test ${enable_lto+y} then : enableval=$enable_lto; log4cplus_check_yesno_func "${enableval}" "--enable-lto" -else $as_nop - enable_lto=no +else case e in #( + e) enable_lto=no ;; +esac fi LOG4CPLUS_LTO_LDFLAGS= @@ -5602,8 +5691,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$CXX"; then +else case e in #( + e) if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5625,7 +5714,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then @@ -5651,8 +5741,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CXX"; then +else case e in #( + e) if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5674,7 +5764,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then @@ -5734,8 +5825,8 @@ printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5752,12 +5843,14 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no +else case e in #( + e) ac_compiler_gnu=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } @@ -5775,8 +5868,8 @@ printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_save_cxx_werror_flag=$ac_cxx_werror_flag +else case e in #( + e) ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" @@ -5794,8 +5887,8 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_g=yes -else $as_nop - CXXFLAGS="" +else case e in #( + e) CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5810,8 +5903,8 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : -else $as_nop - ac_cxx_werror_flag=$ac_save_cxx_werror_flag +else case e in #( + e) ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5828,12 +5921,15 @@ if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag + ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } @@ -5857,11 +5953,11 @@ if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 printf %s "checking for $CXX option to enable C++11 features... " >&6; } -if test ${ac_cv_prog_cxx_11+y} +if test ${ac_cv_prog_cxx_cxx11+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_11=no +else case e in #( + e) ac_cv_prog_cxx_cxx11=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5878,36 +5974,39 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx11" != "xno" && break done rm -f conftest.$ac_ext -CXX=$ac_save_CXX +CXX=$ac_save_CXX ;; +esac fi if test "x$ac_cv_prog_cxx_cxx11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx11" = x +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx11" + CXX="$CXX $ac_cv_prog_cxx_cxx11" ;; +esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_prog_cxx_stdcxx=cxx11 + ac_prog_cxx_stdcxx=cxx11 ;; +esac fi fi if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 printf %s "checking for $CXX option to enable C++98 features... " >&6; } -if test ${ac_cv_prog_cxx_98+y} +if test ${ac_cv_prog_cxx_cxx98+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_98=no +else case e in #( + e) ac_cv_prog_cxx_cxx98=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5924,25 +6023,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx98" != "xno" && break done rm -f conftest.$ac_ext -CXX=$ac_save_CXX +CXX=$ac_save_CXX ;; +esac fi if test "x$ac_cv_prog_cxx_cxx98" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx98" = x +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx98" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx98" + CXX="$CXX $ac_cv_prog_cxx_cxx98" ;; +esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 - ac_prog_cxx_stdcxx=cxx98 + ac_prog_cxx_stdcxx=cxx98 ;; +esac fi fi @@ -5959,8 +6061,8 @@ printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CXX_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then +else case e in #( + e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up @@ -6064,7 +6166,8 @@ else $as_nop else am_cv_CXX_dependencies_compiler_type=none fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } @@ -6092,8 +6195,8 @@ if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} then : printf %s "(cached) " >&6 -else $as_nop - # Double quotes because $CXX needs to be expanded +else case e in #( + e) # Double quotes because $CXX needs to be expanded for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false @@ -6111,9 +6214,10 @@ _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : -else $as_nop - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -6127,15 +6231,16 @@ if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue -else $as_nop - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : @@ -6144,7 +6249,8 @@ fi done ac_cv_prog_CXXCPP=$CXXCPP - + ;; +esac fi CXXCPP=$ac_cv_prog_CXXCPP else @@ -6167,9 +6273,10 @@ _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : -else $as_nop - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -6183,24 +6290,26 @@ if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue -else $as_nop - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi ac_ext=c @@ -6230,8 +6339,8 @@ printf %s "checking whether $CXX supports C++20 features by default... " >&6; } if test ${ax_cv_cxx_compile_cxx20+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7053,10 +7162,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ax_cv_cxx_compile_cxx20=yes -else $as_nop - ax_cv_cxx_compile_cxx20=no +else case e in #( + e) ax_cv_cxx_compile_cxx20=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx20" >&5 printf "%s\n" "$ax_cv_cxx_compile_cxx20" >&6; } @@ -7067,14 +7178,14 @@ printf "%s\n" "$ax_cv_cxx_compile_cxx20" >&6; } if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do switch="-std=gnu++${alternative}" - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | $as_tr_sh` + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | sed "$as_sed_sh"` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_save_CXX="$CXX" +else case e in #( + e) ac_save_CXX="$CXX" CXX="$CXX $switch" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7898,11 +8009,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : eval $cachevar=yes -else $as_nop - eval $cachevar=no +else case e in #( + e) eval $cachevar=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - CXX="$ac_save_CXX" + CXX="$ac_save_CXX" ;; +esac fi eval ac_res=\$$cachevar { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -7921,14 +8034,14 @@ printf "%s\n" "$ac_res" >&6; } if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | $as_tr_sh` + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | sed "$as_sed_sh"` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_save_CXX="$CXX" +else case e in #( + e) ac_save_CXX="$CXX" CXX="$CXX $switch" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8752,11 +8865,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : eval $cachevar=yes -else $as_nop - eval $cachevar=no +else case e in #( + e) eval $cachevar=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - CXX="$ac_save_CXX" + CXX="$ac_save_CXX" ;; +esac fi eval ac_res=\$$cachevar { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 @@ -8801,68 +8916,274 @@ printf "%s\n" "#define HAVE_CXX20 1" >>confdefs.h as_fn_append CPPFLAGS " -D_GNU_SOURCE=1" -case "$target_os" in #( - mingw*) : - as_fn_append CPPFLAGS " -U__STRICT_ANSI__" - as_fn_append CPPFLAGS " -DWIN32" - as_fn_append CPPFLAGS " -D_WIN32" - as_fn_append CPPFLAGS " -DMINGW_HAS_SECURE_API=1" - if printf %s "$CPPFLAGS" | $GREP -e '_WIN32_WINNT=' >/dev/null +# Check whether --enable-largefile was given. +if test ${enable_largefile+y} then : - -else $as_nop - as_fn_append CPPFLAGS " -D_WIN32_WINNT=0x600" -fi ;; #( - cygwin*) : - as_fn_append CPPFLAGS " -U__STRICT_ANSI__" ;; #( - hpux*) : - if printf %s "$CPPFLAGS" | $GREP -e '_XOPEN_SOURCE=' >/dev/null + enableval=$enable_largefile; +fi +if test "$enable_largefile,$enable_year2038" != no,no then : - -else $as_nop - as_fn_append CPPFLAGS " -D_XOPEN_SOURCE=600" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5 +printf %s "checking for $CC option to enable large file support... " >&6; } +if test ${ac_cv_sys_largefile_opts+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_save_CC="$CC" + ac_opt_found=no + for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do + if test x"$ac_opt" != x"none needed" +then : + CC="$ac_save_CC $ac_opt" fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifndef FTYPE +# define FTYPE off_t +#endif + /* Check that FTYPE can represent 2**63 - 1 correctly. + We can't simply define LARGE_FTYPE to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) + int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721 + && LARGE_FTYPE % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ - if test -z "$UNIX_STD" + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" then : - UNIX_STD=2003 -fi - if test "$UNIX_STD" -lt 2003 + if test x"$ac_opt" = x"none needed" then : - UNIX_STD=2003 + # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. + CC="$CC -DFTYPE=ino_t" + if ac_fn_cxx_try_compile "$LINENO" +then : + +else case e in #( + e) CC="$CC -D_FILE_OFFSET_BITS=64" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_opt='-D_FILE_OFFSET_BITS=64' fi - export UNIX_STD ;; #( - *) : - ;; +rm -f core conftest.err conftest.$ac_objext conftest.beam ;; esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam +fi + ac_cv_sys_largefile_opts=$ac_opt + ac_opt_found=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test $ac_opt_found = no || break + done + CC="$ac_save_CC" -# Check whether --enable-profiling was given. -if test ${enable_profiling+y} -then : - enableval=$enable_profiling; - log4cplus_check_yesno_func "${enableval}" "--enable-profiling" -else $as_nop - enable_profiling=no + test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;; +esac fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5 +printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; } -LOG4CPLUS_PROFILING_LDFLAGS= -LOG4CPLUS_PROFILING_CXXFLAGS= +ac_have_largefile=yes +case $ac_cv_sys_largefile_opts in #( + "none needed") : + ;; #( + "supported through gnulib") : + ;; #( + "support not detected") : + ac_have_largefile=no ;; #( + "-D_FILE_OFFSET_BITS=64") : +printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h + ;; #( + "-D_LARGE_FILES=1") : -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -printf %s "checking for a sed that does not truncate output... " >&6; } -if test ${ac_cv_path_SED+y} +printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h + ;; #( + "-n32") : + CC="$CC -n32" ;; #( + *) : + as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;; +esac + +if test "$enable_year2038" != no +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5 +printf %s "checking for $CC option for timestamps after 2038... " >&6; } +if test ${ac_cv_sys_year2038_opts+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false +else case e in #( + e) ac_save_CPPFLAGS="$CPPFLAGS" + ac_opt_found=no + for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do + if test x"$ac_opt" != x"none needed" +then : + CPPFLAGS="$ac_save_CPPFLAGS $ac_opt" +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_sys_year2038_opts="$ac_opt" + ac_opt_found=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test $ac_opt_found = no || break + done + CPPFLAGS="$ac_save_CPPFLAGS" + test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5 +printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; } + +ac_have_year2038=yes +case $ac_cv_sys_year2038_opts in #( + "none needed") : + ;; #( + "support not detected") : + ac_have_year2038=no ;; #( + "-D_TIME_BITS=64") : + +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h + ;; #( + "-D__MINGW_USE_VC2005_COMPAT") : + +printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h + ;; #( + "-U_USE_32_BIT_TIME_T"*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It +will stop working after mid-January 2038. Remove +_USE_32BIT_TIME_T from the compiler flags. +See 'config.log' for more details" "$LINENO" 5; } ;; #( + *) : + as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;; +esac + +fi + +fi +if test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no +then : + # If we're not cross compiling and 'touch' works with a large + # timestamp, then we can presume the system supports wider time_t + # *somehow* and we just weren't able to detect it. One common + # case that we deliberately *don't* probe for is a system that + # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers + # wide time_t. (It would be inappropriate for us to override an + # intentional use of -m32.) Error out, demanding use of + # --disable-year2038 if this is intentional. + if TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null +then : + case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in #( + *'Feb 7 2106'* | *'Feb 7 17:10'*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "this system appears to support timestamps after +mid-January 2038, but no mechanism for enabling wide +'time_t' was detected. Did you mean to build a 64-bit +binary? (E.g., 'CC=\"${CC} -m64\"'.) To proceed with +32-bit time_t, configure with '--disable-year2038'. +See 'config.log' for more details" "$LINENO" 5; } ;; #( + *) : + ;; +esac +fi +fi + +case "$target_os" in #( + mingw*) : + as_fn_append CPPFLAGS " -U__STRICT_ANSI__" + as_fn_append CPPFLAGS " -DWIN32" + as_fn_append CPPFLAGS " -D_WIN32" + as_fn_append CPPFLAGS " -DMINGW_HAS_SECURE_API=1" + if printf %s "$CPPFLAGS" | $GREP -e '_WIN32_WINNT=' >/dev/null +then : + +else case e in #( + e) as_fn_append CPPFLAGS " -D_WIN32_WINNT=0x600" ;; +esac +fi ;; #( + cygwin*) : + as_fn_append CPPFLAGS " -U__STRICT_ANSI__" ;; #( + hpux*) : + if printf %s "$CPPFLAGS" | $GREP -e '_XOPEN_SOURCE=' >/dev/null +then : + +else case e in #( + e) as_fn_append CPPFLAGS " -D_XOPEN_SOURCE=600" ;; +esac +fi + + if test -z "$UNIX_STD" +then : + UNIX_STD=2003 +fi + if test "$UNIX_STD" -lt 2003 +then : + UNIX_STD=2003 +fi + export UNIX_STD ;; #( + *) : + ;; +esac + +# Check whether --enable-profiling was given. +if test ${enable_profiling+y} +then : + enableval=$enable_profiling; + log4cplus_check_yesno_func "${enableval}" "--enable-profiling" +else case e in #( + e) enable_profiling=no ;; +esac +fi + +LOG4CPLUS_PROFILING_LDFLAGS= +LOG4CPLUS_PROFILING_CXXFLAGS= + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -8880,9 +9201,10 @@ do as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in +case `"$ac_path_SED" --version 2>&1` in #( *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -8917,7 +9239,8 @@ IFS=$as_save_IFS else ac_cv_path_SED=$SED fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } @@ -8930,8 +9253,8 @@ printf %s "checking for C++ compiler vendor... " >&6; } if test ${ax_cv_cxx_compiler_vendor+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) vendors=" intel: __ICC,__ECC,__INTEL_COMPILER ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__,__ibmxl__ @@ -8988,7 +9311,8 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done ax_cv_cxx_compiler_vendor="`printf "%s\n" $vendor | cut -d: -f1`" - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5 printf "%s\n" "$ax_cv_cxx_compiler_vendor" >&6; } @@ -9015,8 +9339,8 @@ printf %s "checking CXXFLAGS for most reasonable warnings... " >&6; } if test ${ac_cv_cxxflags_warn_all+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) ac_cv_cxxflags_warn_all="" ac_save_cxxflags_warn_all_found="yes" case "$ax_cv_cxx_compiler_vendor" in #( @@ -9105,23 +9429,26 @@ then : ;; esac -else $as_nop - +else case e in #( + e) CXXFLAGS=$ac_cv_cxxflags_warn_all { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS\""; } >&5 (: CXXFLAGS="$CXXFLAGS") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - + ;; +esac fi fi -else $as_nop - true - -fi +else case e in #( + e) true + ;; +esac +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxxflags_warn_all" >&5 printf "%s\n" "$ac_cv_cxxflags_warn_all" >&6; } @@ -9142,8 +9469,8 @@ printf %s "checking for grep that handles long lines and -e... " >&6; } if test ${ac_cv_path_GREP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then +else case e in #( + e) if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -9162,9 +9489,10 @@ do as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in +case `"$ac_path_GREP" --version 2>&1` in #( *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -9199,7 +9527,8 @@ IFS=$as_save_IFS else ac_cv_path_GREP=$GREP fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 printf "%s\n" "$ac_cv_path_GREP" >&6; } @@ -9220,8 +9549,8 @@ printf %s "checking CXXFLAGS for gcc -fdiagnostics-show-caret... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9256,7 +9585,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fdiagnostics_show_caret" >&6; } @@ -9286,8 +9616,8 @@ printf %s "checking CXXFLAGS for gcc -ftrack-macro-expansion... " >&6; } if test ${ax_cv_cxxflags_gcc_option__ftrack_macro_expansion+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__ftrack_macro_expansion="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__ftrack_macro_expansion="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9322,7 +9652,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__ftrack_macro_expansion" >&6; } @@ -9354,8 +9685,8 @@ printf %s "checking CXXFLAGS for gcc -fdiagnostics-color=auto... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9390,7 +9721,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fdiagnostics_color_auto" >&6; } @@ -9423,8 +9755,8 @@ printf %s "checking CXXFLAGS for gcc -Wextra... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wextra+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wextra="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wextra="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9459,7 +9791,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wextra" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wextra" >&6; } @@ -9489,8 +9822,8 @@ printf %s "checking CXXFLAGS for gcc -pedantic... " >&6; } if test ${ax_cv_cxxflags_gcc_option__pedantic+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__pedantic="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__pedantic="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9525,7 +9858,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pedantic" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__pedantic" >&6; } @@ -9555,8 +9889,8 @@ printf %s "checking CXXFLAGS for gcc -Wstrict-aliasing... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wstrict_aliasing+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wstrict_aliasing="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wstrict_aliasing="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9591,7 +9925,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wstrict_aliasing" >&6; } @@ -9621,8 +9956,8 @@ printf %s "checking CXXFLAGS for gcc -Wstrict-overflow... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wstrict_overflow+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wstrict_overflow="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wstrict_overflow="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9657,7 +9992,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wstrict_overflow" >&6; } @@ -9687,8 +10023,8 @@ printf %s "checking CXXFLAGS for gcc -Woverloaded-virtual... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Woverloaded_virtual+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Woverloaded_virtual="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Woverloaded_virtual="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9723,7 +10059,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Woverloaded_virtual" >&6; } @@ -9757,8 +10094,8 @@ printf %s "checking CXXFLAGS for gcc -Wold-style-cast... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wold_style_cast+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wold_style_cast="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wold_style_cast="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9793,7 +10130,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wold_style_cast" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wold_style_cast" >&6; } @@ -9824,8 +10162,8 @@ printf %s "checking CXXFLAGS for gcc -Wc++20-compat... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wcpp20_compat+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wcpp20_compat="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wcpp20_compat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9860,7 +10198,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&6; } @@ -9890,8 +10229,8 @@ printf %s "checking CXXFLAGS for gcc -Wundef... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wundef+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wundef="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wundef="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9926,7 +10265,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wundef" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wundef" >&6; } @@ -9956,8 +10296,8 @@ printf %s "checking CXXFLAGS for gcc -Wshadow... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wshadow+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wshadow="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wshadow="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9992,7 +10332,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wshadow" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wshadow" >&6; } @@ -10022,8 +10363,8 @@ printf %s "checking CXXFLAGS for gcc -Wformat... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wformat+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wformat="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wformat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10058,7 +10399,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wformat" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wformat" >&6; } @@ -10088,8 +10430,8 @@ printf %s "checking CXXFLAGS for gcc -Wnoexcept... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wnoexcept+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wnoexcept="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wnoexcept="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10124,7 +10466,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wnoexcept" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wnoexcept" >&6; } @@ -10154,8 +10497,8 @@ printf %s "checking CXXFLAGS for gcc -Wsuggest-attribute=format... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10190,7 +10533,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_format" >&6; } @@ -10220,8 +10564,8 @@ printf %s "checking CXXFLAGS for gcc -Wsuggest-attribute=noreturn... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10256,7 +10600,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wsuggest_attribute_noreturn" >&6; } @@ -10286,8 +10631,8 @@ printf %s "checking CXXFLAGS for gcc -Wno-variadic-macros... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wno_variadic_macros+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wno_variadic_macros="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wno_variadic_macros="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10322,7 +10667,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wno_variadic_macros" >&6; } @@ -10352,8 +10698,8 @@ printf %s "checking CXXFLAGS for gcc -Wduplicated-branches... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wduplicated_branches+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wduplicated_branches="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wduplicated_branches="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10388,7 +10734,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wduplicated_branches" >&6; } @@ -10418,8 +10765,8 @@ printf %s "checking CXXFLAGS for gcc -Wdangling-else... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wdangling_else+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wdangling_else="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wdangling_else="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10454,7 +10801,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wdangling_else" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wdangling_else" >&6; } @@ -10484,8 +10832,8 @@ printf %s "checking CXXFLAGS for gcc -Wmultistatement-macros... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wmultistatement_macros+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wmultistatement_macros="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wmultistatement_macros="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10520,7 +10868,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wmultistatement_macros" >&6; } @@ -10550,8 +10899,8 @@ printf %s "checking CXXFLAGS for gcc -Wthread-safety... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Wthread_safety+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Wthread_safety="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Wthread_safety="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10586,7 +10935,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wthread_safety" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wthread_safety" >&6; } @@ -10620,8 +10970,8 @@ printf %s "checking CXXFLAGS for gcc -g3... " >&6; } if test ${ax_cv_cxxflags_gcc_option__g3+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__g3="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__g3="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10656,7 +11006,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__g3" >&6; } @@ -10690,8 +11041,8 @@ printf %s "checking CXXFLAGS for gcc -fstack-check... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fstack_check+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fstack_check="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fstack_check="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10726,7 +11077,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_check" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fstack_check" >&6; } @@ -10756,8 +11108,8 @@ printf %s "checking CXXFLAGS for gcc -fstack-protector... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fstack_protector+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fstack_protector="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fstack_protector="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10792,7 +11144,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fstack_protector" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fstack_protector" >&6; } @@ -10823,8 +11176,8 @@ printf %s "checking CXXFLAGS for gcc -fsanitize=address... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fsanitize_address+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fsanitize_address="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fsanitize_address="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10859,7 +11212,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_address" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fsanitize_address" >&6; } @@ -10889,8 +11243,8 @@ printf %s "checking CXXFLAGS for gcc -fsanitize=undefined... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fsanitize_undefined+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fsanitize_undefined="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fsanitize_undefined="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10925,7 +11279,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fsanitize_undefined" >&6; } @@ -10955,8 +11310,8 @@ printf %s "checking CXXFLAGS for gcc -ftrapv... " >&6; } if test ${ax_cv_cxxflags_gcc_option__ftrapv+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__ftrapv="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__ftrapv="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10991,7 +11346,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__ftrapv" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__ftrapv" >&6; } @@ -11020,14 +11376,14 @@ esac if log4cplus_grep_cxxflags_for_optimization then : -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Og" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Og" >&5 printf %s "checking CXXFLAGS for gcc -Og... " >&6; } if test ${ax_cv_cxxflags_gcc_option__Og+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__Og="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__Og="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11062,7 +11418,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Og" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__Og" >&6; } @@ -11086,20 +11443,21 @@ case ".$var" in fi ;; esac - + ;; +esac fi if log4cplus_grep_cxxflags_for_optimization then : -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O1" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O1" >&5 printf %s "checking CXXFLAGS for gcc -O1... " >&6; } if test ${ax_cv_cxxflags_gcc_option__O1+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__O1="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__O1="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11134,7 +11492,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O1" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__O1" >&6; } @@ -11158,21 +11517,22 @@ case ".$var" in fi ;; esac - + ;; +esac fi -else $as_nop - +else case e in #( + e) if log4cplus_grep_cxxflags_for_optimization then : -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O2" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -O2" >&5 printf %s "checking CXXFLAGS for gcc -O2... " >&6; } if test ${ax_cv_cxxflags_gcc_option__O2+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__O2="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__O2="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11207,7 +11567,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__O2" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__O2" >&6; } @@ -11231,8 +11592,10 @@ case ".$var" in fi ;; esac - -fi + ;; +esac +fi ;; +esac fi if test "x$enable_profiling" = "xyes" @@ -11242,8 +11605,8 @@ printf %s "checking CXXFLAGS for gcc -pg... " >&6; } if test ${ax_cv_cxxflags_gcc_option__pg+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__pg="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__pg="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11278,7 +11641,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__pg" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__pg" >&6; } @@ -11298,8 +11662,8 @@ printf %s "checking CXXFLAGS for gcc -g3... " >&6; } if test ${ax_cv_cxxflags_gcc_option__g3+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__g3="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__g3="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11334,7 +11698,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__g3" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__g3" >&6; } @@ -11369,8 +11734,8 @@ printf %s "checking CXXFLAGS for gcc -flto... " >&6; } if test ${ax_cv_cxxflags_gcc_option__flto+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__flto="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__flto="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11405,7 +11770,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__flto" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__flto" >&6; } @@ -11437,8 +11803,8 @@ printf %s "checking CXXFLAGS for sun/cc +w... " >&6; } if test ${ax_cv_cxxflags_sun_option_pw+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option_pw="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option_pw="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11473,7 +11839,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option_pw" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option_pw" >&6; } @@ -11507,8 +11874,8 @@ printf %s "checking CXXFLAGS for sun/cc -g... " >&6; } if test ${ax_cv_cxxflags_sun_option__g+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__g="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__g="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11543,7 +11910,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__g" >&6; } @@ -11577,8 +11945,8 @@ printf %s "checking CXXFLAGS for sun/cc -pg... " >&6; } if test ${ax_cv_cxxflags_sun_option__pg+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__pg="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__pg="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11613,7 +11981,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__pg" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__pg" >&6; } @@ -11633,8 +12002,8 @@ printf %s "checking CXXFLAGS for sun/cc -g... " >&6; } if test ${ax_cv_cxxflags_sun_option__g+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__g="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__g="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11669,7 +12038,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__g" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__g" >&6; } @@ -11701,8 +12071,8 @@ printf %s "checking CXXFLAGS for sun/cc -features=zla... " >&6; } if test ${ax_cv_cxxflags_sun_option__features_zla+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__features_zla="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__features_zla="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11737,7 +12107,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__features_zla" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__features_zla" >&6; } @@ -11769,14 +12140,14 @@ esac if printf %s "$CXXFLAGS" | $GREP -e '-library=\(stlport4\|stdcxx4\|Cstd\)' >/dev/null then : -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=stlport4" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=stlport4" >&5 printf %s "checking CXXFLAGS for sun/cc -library=stlport4... " >&6; } if test ${ax_cv_cxxflags_sun_option__library_stlport4+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__library_stlport4="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__library_stlport4="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11811,7 +12182,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_stlport4" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__library_stlport4" >&6; } @@ -11835,7 +12207,8 @@ case ".$var" in fi ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for sun/cc -library=Crun" >&5 @@ -11843,8 +12216,8 @@ printf %s "checking CXXFLAGS for sun/cc -library=Crun... " >&6; } if test ${ax_cv_cxxflags_sun_option__library_Crun+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__library_Crun="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__library_Crun="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11879,7 +12252,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__library_Crun" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__library_Crun" >&6; } @@ -11925,8 +12299,8 @@ printf %s "checking for __global and __hidden... " >&6; } if test ${ac_cv__global+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11948,11 +12322,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv__global=yes -else $as_nop - ac_cv__global=no +else case e in #( + e) ac_cv__global=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__global" >&5 printf "%s\n" "$ac_cv__global" >&6; } @@ -11977,8 +12353,8 @@ printf %s "checking for __declspec(dllexport) and __declspec(dllimport)... " >&6 if test ${ac_cv_declspec+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12007,11 +12383,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_declspec=yes -else $as_nop - ac_cv_declspec=no +else case e in #( + e) ac_cv_declspec=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec" >&5 printf "%s\n" "$ac_cv_declspec" >&6; } @@ -12038,8 +12416,8 @@ printf %s "checking for __attribute__((visibility(\"default\"))) and __attribute if test ${ac_cv__attribute__visibility+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12066,11 +12444,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv__attribute__visibility=yes -else $as_nop - ac_cv__attribute__visibility=no +else case e in #( + e) ac_cv__attribute__visibility=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__attribute__visibility" >&5 printf "%s\n" "$ac_cv__attribute__visibility" >&6; } @@ -12111,8 +12491,8 @@ printf %s "checking CXXFLAGS for gcc -fvisibility=hidden... " >&6; } if test ${ax_cv_cxxflags_gcc_option__fvisibility_hidden+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_gcc_option__fvisibility_hidden="no, unknown" +else case e in #( + e) ax_cv_cxxflags_gcc_option__fvisibility_hidden="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -12147,7 +12527,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&5 printf "%s\n" "$ax_cv_cxxflags_gcc_option__fvisibility_hidden" >&6; } @@ -12179,8 +12560,8 @@ printf %s "checking CXXFLAGS for sun/cc -xldscope=hidden... " >&6; } if test ${ax_cv_cxxflags_sun_option__xldscope_hidden+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__xldscope_hidden="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__xldscope_hidden="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -12215,7 +12596,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xldscope_hidden" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__xldscope_hidden" >&6; } @@ -12243,8 +12625,9 @@ esac *) : use_export_symbols_regex=yes ;; esac -else $as_nop - use_export_symbols_regex=yes +else case e in #( + e) use_export_symbols_regex=yes ;; +esac fi fi if test "x$use_export_symbols_regex" = "xyes"; then @@ -12264,8 +12647,8 @@ printf %s "checking for __FUNCTION__ macro... " >&6; } if test ${ac_cv_have___function___macro+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12283,11 +12666,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_have___function___macro=yes -else $as_nop - ac_cv_have___function___macro=no +else case e in #( + e) ac_cv_have___function___macro=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___function___macro" >&5 printf "%s\n" "$ac_cv_have___function___macro" >&6; } @@ -12306,8 +12691,8 @@ printf %s "checking for __PRETTY_FUNCTION__ macro... " >&6; } if test ${ac_cv_have___pretty_function___macro+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12325,11 +12710,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_have___pretty_function___macro=yes -else $as_nop - ac_cv_have___pretty_function___macro=no +else case e in #( + e) ac_cv_have___pretty_function___macro=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___pretty_function___macro" >&5 printf "%s\n" "$ac_cv_have___pretty_function___macro" >&6; } @@ -12348,8 +12735,8 @@ printf %s "checking for __func__ symbol... " >&6; } if test ${ac_cv_have___func___symbol+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12367,12 +12754,14 @@ _ACEOF if ac_fn_cxx_try_link "$LINENO" then : ac_cv_have___func___symbol=yes -else $as_nop - ac_cv_have___func___symbol=no +else case e in #( + e) ac_cv_have___func___symbol=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___func___symbol" >&5 printf "%s\n" "$ac_cv_have___func___symbol" >&6; } @@ -12391,8 +12780,8 @@ printf %s "checking for __attribute__((constructor_priority))... " >&6; } if test ${ax_cv_have_func_attribute_constructor_priority+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12413,15 +12802,18 @@ then : if grep -- -Wattributes conftest.err then : ax_cv_have_func_attribute_constructor_priority=no -else $as_nop - ax_cv_have_func_attribute_constructor_priority=yes +else case e in #( + e) ax_cv_have_func_attribute_constructor_priority=yes ;; +esac fi -else $as_nop - ax_cv_have_func_attribute_constructor_priority=no +else case e in #( + e) ax_cv_have_func_attribute_constructor_priority=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor_priority" >&5 printf "%s\n" "$ax_cv_have_func_attribute_constructor_priority" >&6; } @@ -12449,8 +12841,8 @@ printf %s "checking for __attribute__((constructor))... " >&6; } if test ${ax_cv_have_func_attribute_constructor+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12471,15 +12863,18 @@ then : if grep -- -Wattributes conftest.err then : ax_cv_have_func_attribute_constructor=no -else $as_nop - ax_cv_have_func_attribute_constructor=yes +else case e in #( + e) ax_cv_have_func_attribute_constructor=yes ;; +esac fi -else $as_nop - ax_cv_have_func_attribute_constructor=no +else case e in #( + e) ax_cv_have_func_attribute_constructor=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_constructor" >&5 printf "%s\n" "$ax_cv_have_func_attribute_constructor" >&6; } @@ -12507,8 +12902,8 @@ printf %s "checking for __attribute__((init_priority))... " >&6; } if test ${ax_cv_have_var_attribute_init_priority+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12532,15 +12927,18 @@ then : if test -s conftest.err then : ax_cv_have_var_attribute_init_priority=no -else $as_nop - ax_cv_have_var_attribute_init_priority=yes +else case e in #( + e) ax_cv_have_var_attribute_init_priority=yes ;; +esac fi -else $as_nop - ax_cv_have_var_attribute_init_priority=no +else case e in #( + e) ax_cv_have_var_attribute_init_priority=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_var_attribute_init_priority" >&5 printf "%s\n" "$ax_cv_have_var_attribute_init_priority" >&6; } @@ -12572,15 +12970,21 @@ printf %s "checking for library containing __atomic_fetch_and_4... " >&6; } if test ${ac_cv_search___atomic_fetch_and_4+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char __atomic_fetch_and_4 (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char __atomic_fetch_and_4 (void); int main (void) { @@ -12611,11 +13015,13 @@ done if test ${ac_cv_search___atomic_fetch_and_4+y} then : -else $as_nop - ac_cv_search___atomic_fetch_and_4=no +else case e in #( + e) ac_cv_search___atomic_fetch_and_4=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___atomic_fetch_and_4" >&5 printf "%s\n" "$ac_cv_search___atomic_fetch_and_4" >&6; } @@ -12631,15 +13037,21 @@ printf %s "checking for library containing strerror... " >&6; } if test ${ac_cv_search_strerror+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char strerror (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (void); int main (void) { @@ -12670,11 +13082,13 @@ done if test ${ac_cv_search_strerror+y} then : -else $as_nop - ac_cv_search_strerror=no +else case e in #( + e) ac_cv_search_strerror=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 printf "%s\n" "$ac_cv_search_strerror" >&6; } @@ -12690,15 +13104,21 @@ printf %s "checking for library containing gethostbyname... " >&6; } if test ${ac_cv_search_gethostbyname+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char gethostbyname (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (void); int main (void) { @@ -12729,11 +13149,13 @@ done if test ${ac_cv_search_gethostbyname+y} then : -else $as_nop - ac_cv_search_gethostbyname=no +else case e in #( + e) ac_cv_search_gethostbyname=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 printf "%s\n" "$ac_cv_search_gethostbyname" >&6; } @@ -12749,15 +13171,21 @@ printf %s "checking for library containing setsockopt... " >&6; } if test ${ac_cv_search_setsockopt+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char setsockopt (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char setsockopt (void); int main (void) { @@ -12788,11 +13216,13 @@ done if test ${ac_cv_search_setsockopt+y} then : -else $as_nop - ac_cv_search_setsockopt=no +else case e in #( + e) ac_cv_search_setsockopt=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 printf "%s\n" "$ac_cv_search_setsockopt" >&6; } @@ -12810,15 +13240,21 @@ printf %s "checking for library containing iconv_open... " >&6; } if test ${ac_cv_search_iconv_open+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char iconv_open (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char iconv_open (void); int main (void) { @@ -12849,11 +13285,13 @@ done if test ${ac_cv_search_iconv_open+y} then : -else $as_nop - ac_cv_search_iconv_open=no +else case e in #( + e) ac_cv_search_iconv_open=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv_open" >&5 printf "%s\n" "$ac_cv_search_iconv_open" >&6; } @@ -12862,21 +13300,27 @@ if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing libiconv_open" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing libiconv_open" >&5 printf %s "checking for library containing libiconv_open... " >&6; } if test ${ac_cv_search_libiconv_open+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char libiconv_open (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char libiconv_open (void); int main (void) { @@ -12907,11 +13351,13 @@ done if test ${ac_cv_search_libiconv_open+y} then : -else $as_nop - ac_cv_search_libiconv_open=no +else case e in #( + e) ac_cv_search_libiconv_open=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_libiconv_open" >&5 printf "%s\n" "$ac_cv_search_libiconv_open" >&6; } @@ -12921,7 +13367,8 @@ then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi - + ;; +esac fi fi @@ -12947,8 +13394,8 @@ printf %s "checking for main in -lkernel32... " >&6; } if test ${ac_cv_lib_kernel32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12965,12 +13412,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_kernel32_main=yes -else $as_nop - ac_cv_lib_kernel32_main=no +else case e in #( + e) ac_cv_lib_kernel32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 printf "%s\n" "$ac_cv_lib_kernel32_main" >&6; } @@ -12987,8 +13436,8 @@ printf %s "checking for main in -ladvapi32... " >&6; } if test ${ac_cv_lib_advapi32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-ladvapi32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13005,12 +13454,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_advapi32_main=yes -else $as_nop - ac_cv_lib_advapi32_main=no +else case e in #( + e) ac_cv_lib_advapi32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_advapi32_main" >&5 printf "%s\n" "$ac_cv_lib_advapi32_main" >&6; } @@ -13027,8 +13478,8 @@ printf %s "checking for main in -lws2_32... " >&6; } if test ${ac_cv_lib_ws2_32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lws2_32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13045,12 +13496,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_ws2_32_main=yes -else $as_nop - ac_cv_lib_ws2_32_main=no +else case e in #( + e) ac_cv_lib_ws2_32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 printf "%s\n" "$ac_cv_lib_ws2_32_main" >&6; } @@ -13067,8 +13520,8 @@ printf %s "checking for main in -loleaut32... " >&6; } if test ${ac_cv_lib_oleaut32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-loleaut32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13085,12 +13538,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_oleaut32_main=yes -else $as_nop - ac_cv_lib_oleaut32_main=no +else case e in #( + e) ac_cv_lib_oleaut32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 printf "%s\n" "$ac_cv_lib_oleaut32_main" >&6; } @@ -13121,8 +13576,8 @@ printf %s "checking for main in -lkernel32... " >&6; } if test ${ac_cv_lib_kernel32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13139,12 +13594,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_kernel32_main=yes -else $as_nop - ac_cv_lib_kernel32_main=no +else case e in #( + e) ac_cv_lib_kernel32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 printf "%s\n" "$ac_cv_lib_kernel32_main" >&6; } @@ -13161,8 +13618,8 @@ printf %s "checking for main in -loleaut32... " >&6; } if test ${ac_cv_lib_oleaut32_main+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-loleaut32 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13179,12 +13636,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_oleaut32_main=yes -else $as_nop - ac_cv_lib_oleaut32_main=no +else case e in #( + e) ac_cv_lib_oleaut32_main=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_oleaut32_main" >&5 printf "%s\n" "$ac_cv_lib_oleaut32_main" >&6; } @@ -13241,8 +13700,8 @@ printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 +else case e in #( + e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then @@ -13264,9 +13723,10 @@ do as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in +case `"$ac_path_EGREP" --version 2>&1` in #( *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -13302,12 +13762,15 @@ else ac_cv_path_EGREP=$EGREP fi - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" + EGREP_TRADITIONAL=$EGREP + ac_cv_path_EGREP_TRADITIONAL=$EGREP @@ -13504,8 +13967,8 @@ printf %s "checking for socklen_t... " >&6; } if test ${ac_cv_ax_type_socklen_t+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -13520,11 +13983,13 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_ax_type_socklen_t=yes -else $as_nop - ac_cv_ax_type_socklen_t=no +else case e in #( + e) ac_cv_ax_type_socklen_t=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ax_type_socklen_t" >&5 printf "%s\n" "$ac_cv_ax_type_socklen_t" >&6; } @@ -13542,8 +14007,9 @@ if test ${enable_threads+y} then : enableval=$enable_threads; log4cplus_check_yesno_func "${enableval}" "--enable-threads" -else $as_nop - enable_threads=yes +else case e in #( + e) enable_threads=yes ;; +esac fi ENABLE_THREADS=$enable_threads @@ -13704,8 +14170,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ax_pthread_config+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ax_pthread_config"; then +else case e in #( + e) if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -13728,7 +14194,8 @@ done IFS=$as_save_IFS test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" -fi +fi ;; +esac fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then @@ -13862,8 +14329,9 @@ printf %s "checking if more special flags are required for pthreads... " >&6; } if test "$GCC" = "yes" then : flag="-D_REENTRANT" -else $as_nop - flag="-mt -D_REENTRANT" +else case e in #( + e) flag="-mt -D_REENTRANT" ;; +esac fi ;; #( *) : ;; @@ -13881,8 +14349,8 @@ printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13899,11 +14367,13 @@ _ACEOF if ac_fn_cxx_try_link "$LINENO" then : ax_cv_PTHREAD_PRIO_INHERIT=yes -else $as_nop - ax_cv_PTHREAD_PRIO_INHERIT=no +else case e in #( + e) ax_cv_PTHREAD_PRIO_INHERIT=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } @@ -13928,9 +14398,10 @@ then : printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h -else $as_nop - ax_pthread_ok=no - as_fn_error $? "Requested threads support but no threads were found." "$LINENO" 5 +else case e in #( + e) ax_pthread_ok=no + as_fn_error $? "Requested threads support but no threads were found." "$LINENO" 5 ;; +esac fi ac_ext=cpp @@ -13955,15 +14426,21 @@ printf %s "checking for library containing sem_init... " >&6; } if test ${ac_cv_search_sem_init+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS +else case e in #( + e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char sem_init (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char sem_init (void); int main (void) { @@ -13994,11 +14471,13 @@ done if test ${ac_cv_search_sem_init+y} then : -else $as_nop - ac_cv_search_sem_init=no +else case e in #( + e) ac_cv_search_sem_init=no ;; +esac fi rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +LIBS=$ac_func_search_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_init" >&5 printf "%s\n" "$ac_cv_search_sem_init" >&6; } @@ -14025,8 +14504,8 @@ printf %s "checking CXXFLAGS for sun/cc -xthreadvar... " >&6; } if test ${ax_cv_cxxflags_sun_option__xthreadvar+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_sun_option__xthreadvar="no, unknown" +else case e in #( + e) ax_cv_cxxflags_sun_option__xthreadvar="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -14061,7 +14540,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_sun_option__xthreadvar" >&5 printf "%s\n" "$ax_cv_cxxflags_sun_option__xthreadvar" >&6; } @@ -14092,8 +14572,8 @@ printf %s "checking CXXFLAGS for aix/cc -qtls... " >&6; } if test ${ax_cv_cxxflags_aix_option__qtls+y} then : printf %s "(cached) " >&6 -else $as_nop - ax_cv_cxxflags_aix_option__qtls="no, unknown" +else case e in #( + e) ax_cv_cxxflags_aix_option__qtls="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -14128,7 +14608,8 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_aix_option__qtls" >&5 printf "%s\n" "$ax_cv_cxxflags_aix_option__qtls" >&6; } @@ -14170,8 +14651,8 @@ printf %s "checking for thread_local... " >&6; } if test ${ac_cv_thread_local+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14199,12 +14680,14 @@ if ac_fn_cxx_try_link "$LINENO" then : ac_cv_thread_local=yes ax_tls_support=yes -else $as_nop - ac_cv_thread_local=no +else case e in #( + e) ac_cv_thread_local=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_thread_local" >&5 printf "%s\n" "$ac_cv_thread_local" >&6; } @@ -14225,8 +14708,8 @@ printf %s "checking for __thread... " >&6; } if test ${ac_cv__thread_keyword+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined (__NetBSD__) @@ -14261,12 +14744,14 @@ if ac_fn_cxx_try_link "$LINENO" then : ac_cv__thread_keyword=yes ax_tls_support=yes -else $as_nop - ac_cv__thread_keyword=no +else case e in #( + e) ac_cv__thread_keyword=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv__thread_keyword" >&5 printf "%s\n" "$ac_cv__thread_keyword" >&6; } @@ -14289,8 +14774,8 @@ printf %s "checking for __declspec(thread)... " >&6; } if test ${ac_cv_declspec_thread+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14323,11 +14808,13 @@ if ac_fn_cxx_try_link "$LINENO" then : ac_cv_declspec_thread=yes ax_tls_support=yes -else $as_nop - ac_cv_declspec_thread=no +else case e in #( + e) ac_cv_declspec_thread=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext + conftest$ac_exeext conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_declspec_thread" >&5 printf "%s\n" "$ac_cv_declspec_thread" >&6; } @@ -14352,29 +14839,32 @@ then : printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR thread_local" >>confdefs.h -else $as_nop - if test "x$ac_cv_declspec_thread" = "xyes" +else case e in #( + e) if test "x$ac_cv_declspec_thread" = "xyes" then : printf "%s\n" "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR __declspec(thread)" >>confdefs.h -else $as_nop - if test "x$ac_cv__thread_keyword" = "xyes" +else case e in #( + e) if test "x$ac_cv__thread_keyword" = "xyes" then : printf "%s\n" "#define LOG4CPLUS_HAVE_TLS_SUPPORT 1" >>confdefs.h printf "%s\n" "#define LOG4CPLUS_THREAD_LOCAL_VAR __thread" >>confdefs.h +fi ;; +esac +fi ;; +esac fi -fi -fi -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Creating a single-threaded library" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Creating a single-threaded library" >&5 printf "%s\n" "$as_me: Creating a single-threaded library" >&6;} printf "%s\n" "#define LOG4CPLUS_SINGLE_THREADED 1" >>confdefs.h - + ;; +esac fi if test "x$enable_threads" = "xyes"; then @@ -14888,8 +15378,8 @@ printf %s "checking for ENAMETOOLONG... " >&6; } if test ${ax_cv_have_enametoolong+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -14903,10 +15393,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ax_cv_have_enametoolong=yes -else $as_nop - ax_cv_have_enametoolong=no +else case e in #( + e) ax_cv_have_enametoolong=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_enametoolong" >&5 printf "%s\n" "$ax_cv_have_enametoolong" >&6; } @@ -14923,8 +15415,8 @@ printf %s "checking for getaddrinfo... " >&6; } if test ${ax_cv_have_getaddrinfo+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __cplusplus @@ -14950,10 +15442,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ax_cv_have_getaddrinfo=yes -else $as_nop - ax_cv_have_getaddrinfo=no +else case e in #( + e) ax_cv_have_getaddrinfo=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_getaddrinfo" >&5 printf "%s\n" "$ax_cv_have_getaddrinfo" >&6; } @@ -14977,8 +15471,8 @@ printf %s "checking for gethostbyname_r... " >&6; } if test ${ax_cv_have_gethostbyname_r+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __cplusplus @@ -15004,10 +15498,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ax_cv_have_gethostbyname_r=yes -else $as_nop - ax_cv_have_gethostbyname_r=no +else case e in #( + e) ax_cv_have_gethostbyname_r=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gethostbyname_r" >&5 printf "%s\n" "$ax_cv_have_gethostbyname_r" >&6; } @@ -15029,8 +15525,8 @@ printf %s "checking for gettid... " >&6; } if test ${ax_cv_have_gettid+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -15046,10 +15542,12 @@ _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ax_cv_have_gettid=yes -else $as_nop - ax_cv_have_gettid=no +else case e in #( + e) ax_cv_have_gettid=no ;; +esac fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gettid" >&5 printf "%s\n" "$ax_cv_have_gettid" >&6; } @@ -15076,8 +15574,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : printf %s "(cached) " >&6 -else $as_nop - case $PKG_CONFIG in +else case e in #( + e) case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; @@ -15102,6 +15600,7 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG @@ -15124,8 +15623,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 -else $as_nop - case $ac_pt_PKG_CONFIG in +else case e in #( + e) case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; @@ -15150,6 +15649,7 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG @@ -15197,8 +15697,9 @@ if test ${with_qt+y} then : withval=$with_qt; log4cplus_check_yesno_func "${withval}" "--with-qt" -else $as_nop - with_qt=no +else case e in #( + e) with_qt=no ;; +esac fi @@ -15276,8 +15777,8 @@ See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15287,7 +15788,7 @@ and QT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } else QT_CFLAGS=$pkg_cv_QT_CFLAGS QT_LIBS=$pkg_cv_QT_LIBS @@ -15295,9 +15796,10 @@ else printf "%s\n" "yes" >&6; } fi -else $as_nop - QT_CFLAGS= - QT_LIBS= +else case e in #( + e) QT_CFLAGS= + QT_LIBS= ;; +esac fi if test "x$with_qt" = "xyes"; then QT_TRUE= @@ -15317,8 +15819,9 @@ if test ${with_qt5+y} then : withval=$with_qt5; log4cplus_check_yesno_func "${withval}" "--with-qt5" -else $as_nop - with_qt5=no +else case e in #( + e) with_qt5=no ;; +esac fi @@ -15396,8 +15899,8 @@ See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15407,7 +15910,7 @@ and QT5_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } else QT5_CFLAGS=$pkg_cv_QT5_CFLAGS QT5_LIBS=$pkg_cv_QT5_LIBS @@ -15415,9 +15918,10 @@ else printf "%s\n" "yes" >&6; } fi -else $as_nop - QT5_CFLAGS= - QT5_LIBS= +else case e in #( + e) QT5_CFLAGS= + QT5_LIBS= ;; +esac fi if test "x$with_qt5" = "xyes"; then QT5_TRUE= @@ -15443,8 +15947,9 @@ then : then : with_swig=yes fi -else $as_nop - with_python=no +else case e in #( + e) with_python=no ;; +esac fi @@ -15461,8 +15966,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_SWIG+y} then : printf %s "(cached) " >&6 -else $as_nop - case $SWIG in +else case e in #( + e) case $SWIG in [\\/]* | ?:[\\/]*) ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path. ;; @@ -15487,6 +15992,7 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi SWIG=$ac_cv_path_SWIG @@ -15620,10 +16126,11 @@ sys.exit(sys.hexversion < minverhex)" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - as_fn_error $? "Python interpreter is too old" "$LINENO" 5 + as_fn_error $? "Python interpreter is too old" "$LINENO" 5 ;; +esac fi am_display_PYTHON=$PYTHON else @@ -15634,8 +16141,8 @@ printf %s "checking for a Python interpreter with version >= 2.3... " >&6; } if test ${am_cv_pathless_PYTHON+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys @@ -15655,7 +16162,8 @@ sys.exit(sys.hexversion < minverhex)" then : break fi - done + done ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; } @@ -15670,8 +16178,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PYTHON+y} then : printf %s "(cached) " >&6 -else $as_nop - case $PYTHON in +else case e in #( + e) case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; @@ -15696,6 +16204,7 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi PYTHON=$ac_cv_path_PYTHON @@ -15722,8 +16231,9 @@ printf %s "checking for $am_display_PYTHON version... " >&6; } if test ${am_cv_python_version+y} then : printf %s "(cached) " >&6 -else $as_nop - am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` +else case e in #( + e) am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 printf "%s\n" "$am_cv_python_version" >&6; } @@ -15735,8 +16245,9 @@ printf %s "checking for $am_display_PYTHON platform... " >&6; } if test ${am_cv_python_platform+y} then : printf %s "(cached) " >&6 -else $as_nop - am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` +else case e in #( + e) am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 printf "%s\n" "$am_cv_python_platform" >&6; } @@ -15756,8 +16267,9 @@ printf "%s\n" "$am_cv_python_platform" >&6; } if test ${with_python_sys_prefix+y} then : withval=$with_python_sys_prefix; am_use_python_sys=: -else $as_nop - am_use_python_sys=false +else case e in #( + e) am_use_python_sys=false ;; +esac fi @@ -15772,8 +16284,8 @@ then : printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 printf "%s\n" "$am_cv_python_prefix" >&6; } -else $as_nop - +else case e in #( + e) if $am_use_python_sys; then # using python sys.prefix value, not GNU { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 @@ -15781,8 +16293,9 @@ printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } if test ${am_cv_python_prefix+y} then : printf %s "(cached) " >&6 -else $as_nop - am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` +else case e in #( + e) am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 printf "%s\n" "$am_cv_python_prefix" >&6; } @@ -15803,7 +16316,8 @@ printf "%s\n" "$am_cv_python_prefix" >&6; } printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 printf "%s\n" "$am_python_prefix" >&6; } - fi + fi ;; +esac fi # Substituting python_prefix_subst value. @@ -15822,8 +16336,8 @@ then : printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - +else case e in #( + e) # no explicit --with-python_exec_prefix, but if # --with-python_prefix was given, use its value for python_exec_prefix too. if test -n "$with_python_prefix" @@ -15834,8 +16348,8 @@ then : printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - +else case e in #( + e) # Set am__usable_exec_prefix whether using GNU or Python values, # since we use that variable for pyexecdir. if test "x$exec_prefix" = xNONE; then @@ -15850,8 +16364,9 @@ printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; if test ${am_cv_python_exec_prefix+y} then : printf %s "(cached) " >&6 -else $as_nop - am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` +else case e in #( + e) am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } @@ -15871,8 +16386,10 @@ printf "%s\n" "$am_cv_python_exec_prefix" >&6; } printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 printf "%s\n" "$am_python_exec_prefix" >&6; } - fi -fi + fi ;; +esac +fi ;; +esac fi # Substituting python_exec_prefix_subst. @@ -15905,8 +16422,8 @@ printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6 if test ${am_cv_python_pythondir+y} then : printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_prefix" = x; then +else case e in #( + e) if test "x$am_cv_python_prefix" = x; then am_py_prefix=$am__usable_prefix else am_py_prefix=$am_cv_python_prefix @@ -15933,7 +16450,8 @@ sys.stdout.write(sitedir)"` esac ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 printf "%s\n" "$am_cv_python_pythondir" >&6; } @@ -15948,8 +16466,8 @@ printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir if test ${am_cv_python_pyexecdir+y} then : printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_exec_prefix" = x; then +else case e in #( + e) if test "x$am_cv_python_exec_prefix" = x; then am_py_exec_prefix=$am__usable_exec_prefix else am_py_exec_prefix=$am_cv_python_exec_prefix @@ -15976,7 +16494,8 @@ sys.stdout.write(sitedir)"` esac ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 printf "%s\n" "$am_cv_python_pyexecdir" >&6; } @@ -16002,8 +16521,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PYTHON+y} then : printf %s "(cached) " >&6 -else $as_nop - case $PYTHON in +else case e in #( + e) case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; @@ -16028,6 +16547,7 @@ done IFS=$as_save_IFS ;; +esac ;; esac fi PYTHON=$ac_cv_path_PYTHON @@ -16057,8 +16577,8 @@ printf %s "checking for a version of Python >= '2.1.0'... " >&6; } if test -z "$PYTHON_NOVERSIONCHECK"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " This version of the AC_PYTHON_DEVEL macro doesn't work properly with versions of Python before @@ -16068,7 +16588,7 @@ PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. Moreover, to disable this check, set PYTHON_NOVERSIONCHECK to something else than an empty string. -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5 printf "%s\n" "skip at user request" >&6; } @@ -16298,8 +16818,9 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : pythonexists=yes -else $as_nop - pythonexists=no +else case e in #( + e) pythonexists=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -16317,8 +16838,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu printf "%s\n" "$pythonexists" >&6; } if test ! "x$pythonexists" = "xyes"; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " Could not link test program to Python. Maybe the main Python library has been installed in some non-standard library path. If so, pass it to configure, @@ -16330,7 +16851,7 @@ as_fn_error $? " for your distribution. The exact name of this package varies among them. ============================================================================ -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } PYTHON_VERSION="" fi @@ -16455,8 +16976,8 @@ printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ +else case e in #( + e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done @@ -16481,9 +17002,10 @@ do as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in +case `"$ac_path_SED" --version 2>&1` in #( *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -16518,7 +17040,8 @@ IFS=$as_save_IFS else ac_cv_path_SED=$SED fi - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } @@ -16543,8 +17066,8 @@ printf %s "checking for fgrep... " >&6; } if test ${ac_cv_path_FGREP+y} then : printf %s "(cached) " >&6 -else $as_nop - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 +else case e in #( + e) if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then @@ -16566,9 +17089,10 @@ do as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in +case `"$ac_path_FGREP" --version 2>&1` in #( *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +#( *) ac_count=0 printf %s 0123456789 >"conftest.in" @@ -16604,7 +17128,8 @@ else ac_cv_path_FGREP=$FGREP fi - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 printf "%s\n" "$ac_cv_path_FGREP" >&6; } @@ -16635,8 +17160,9 @@ test -z "$GREP" && GREP=grep if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else $as_nop - with_gnu_ld=no +else case e in #( + e) with_gnu_ld=no ;; +esac fi ac_prog=ld @@ -16681,8 +17207,8 @@ fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$LD"; then +else case e in #( + e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs @@ -16705,7 +17231,8 @@ else $as_nop IFS=$lt_save_ifs else lt_cv_path_LD=$LD # Let the user override the test with a path. -fi +fi ;; +esac fi LD=$lt_cv_path_LD @@ -16722,8 +17249,8 @@ printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 -else $as_nop - # I'd rather use --version here, but apparently some GNU lds only accept -v. +else case e in #( + e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &1 &5 @@ -16750,8 +17278,8 @@ printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test ${lt_cv_path_NM+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$NM"; then +else case e in #( + e) if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else @@ -16798,7 +17326,8 @@ else IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} -fi +fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 printf "%s\n" "$lt_cv_path_NM" >&6; } @@ -16819,8 +17348,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DUMPBIN+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$DUMPBIN"; then +else case e in #( + e) if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -16842,7 +17371,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then @@ -16868,8 +17398,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DUMPBIN+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_DUMPBIN"; then +else case e in #( + e) if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -16891,7 +17421,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then @@ -16945,8 +17476,8 @@ printf %s "checking the name lister ($NM) interface... " >&6; } if test ${lt_cv_nm_interface+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_nm_interface="BSD nm" +else case e in #( + e) lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) @@ -16959,7 +17490,8 @@ else $as_nop if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi - rm -f conftest* + rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 printf "%s\n" "$lt_cv_nm_interface" >&6; } @@ -16981,8 +17513,8 @@ printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : printf %s "(cached) " >&6 -else $as_nop - i=0 +else case e in #( + e) i=0 teststring=ABCD case $build_os in @@ -17104,7 +17636,8 @@ else $as_nop fi ;; esac - + ;; +esac fi if test -n "$lt_cv_sys_max_cmd_len"; then @@ -17161,8 +17694,8 @@ printf %s "checking how to convert $build file names to $host format... " >&6; } if test ${lt_cv_to_host_file_cmd+y} then : printf %s "(cached) " >&6 -else $as_nop - case $host in +else case e in #( + e) case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys @@ -17193,7 +17726,8 @@ else $as_nop lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac - + ;; +esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd @@ -17209,8 +17743,8 @@ printf %s "checking how to convert $build file names to toolchain format... " >& if test ${lt_cv_to_tool_file_cmd+y} then : printf %s "(cached) " >&6 -else $as_nop - #assume ordinary cross tools, or native build. +else case e in #( + e) #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) @@ -17221,7 +17755,8 @@ case $host in esac ;; esac - + ;; +esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd @@ -17237,8 +17772,9 @@ printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_ld_reload_flag='-r' +else case e in #( + e) lt_cv_ld_reload_flag='-r' ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } @@ -17279,8 +17815,8 @@ 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 +else case e in #( + e) if test -n "$FILECMD"; then ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17302,7 +17838,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi FILECMD=$ac_cv_prog_FILECMD if test -n "$FILECMD"; then @@ -17324,8 +17861,8 @@ 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 +else case e in #( + e) 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 @@ -17347,7 +17884,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD if test -n "$ac_ct_FILECMD"; then @@ -17387,8 +17925,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJDUMP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$OBJDUMP"; then +else case e in #( + e) if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17410,7 +17948,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then @@ -17432,8 +17971,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OBJDUMP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_OBJDUMP"; then +else case e in #( + e) if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17455,7 +17994,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then @@ -17493,8 +18033,8 @@ printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_file_magic_cmd='$MAGIC_CMD' +else case e in #( + e) lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support @@ -17687,7 +18227,8 @@ os2*) lt_cv_deplibs_check_method=pass_all ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } @@ -17739,8 +18280,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DLLTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$DLLTOOL"; then +else case e in #( + e) if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17762,7 +18303,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then @@ -17784,8 +18326,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DLLTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_DLLTOOL"; then +else case e in #( + e) if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17807,7 +18349,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then @@ -17846,8 +18389,8 @@ printf %s "checking how to associate runtime and link libraries... " >&6; } if test ${lt_cv_sharedlib_from_linklib_cmd+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_sharedlib_from_linklib_cmd='unknown' +else case e in #( + e) lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) @@ -17867,7 +18410,8 @@ cygwin* | mingw* | pw32* | cegcc*) lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } @@ -17890,8 +18434,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$AR"; then +else case e in #( + e) if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17913,7 +18457,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi AR=$ac_cv_prog_AR if test -n "$AR"; then @@ -17939,8 +18484,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_AR"; then +else case e in #( + e) if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -17962,7 +18507,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then @@ -18024,8 +18570,8 @@ printf %s "checking for archiver @FILE support... " >&6; } if test ${lt_cv_ar_at_file+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_ar_at_file=no +else case e in #( + e) lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18062,7 +18608,8 @@ then : fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 printf "%s\n" "$lt_cv_ar_at_file" >&6; } @@ -18087,8 +18634,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$STRIP"; then +else case e in #( + e) if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -18110,7 +18657,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then @@ -18132,8 +18680,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_STRIP"; then +else case e in #( + e) if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -18155,7 +18703,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then @@ -18196,8 +18745,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RANLIB+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$RANLIB"; then +else case e in #( + e) if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -18219,7 +18768,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then @@ -18241,8 +18791,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_RANLIB+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_RANLIB"; then +else case e in #( + e) if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -18264,7 +18814,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then @@ -18375,8 +18926,8 @@ printf %s "checking command to parse $NM output from $compiler object... " >&6; if test ${lt_cv_sys_global_symbol_pipe+y} then : printf %s "(cached) " >&6 -else $as_nop - +else case e in #( + e) # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] @@ -18631,7 +19182,8 @@ _LT_EOF lt_cv_sys_global_symbol_pipe= fi done - + ;; +esac fi if test -z "$lt_cv_sys_global_symbol_pipe"; then @@ -18695,8 +19247,9 @@ printf %s "checking for sysroot... " >&6; } if test ${with_sysroot+y} then : withval=$with_sysroot; -else $as_nop - with_sysroot=no +else case e in #( + e) with_sysroot=no ;; +esac fi @@ -18731,8 +19284,8 @@ printf %s "checking for a working dd... " >&6; } if test ${ac_cv_path_lt_DD+y} then : printf %s "(cached) " >&6 -else $as_nop - printf 0123456789abcdef0123456789abcdef >conftest.i +else case e in #( + e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then @@ -18768,7 +19321,8 @@ else ac_cv_path_lt_DD=$lt_DD fi -rm -f conftest.i conftest2.i conftest.out +rm -f conftest.i conftest2.i conftest.out ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 printf "%s\n" "$ac_cv_path_lt_DD" >&6; } @@ -18779,8 +19333,8 @@ printf %s "checking how to truncate binary pipes... " >&6; } if test ${lt_cv_truncate_bin+y} then : printf %s "(cached) " >&6 -else $as_nop - printf 0123456789abcdef0123456789abcdef >conftest.i +else case e in #( + e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then @@ -18788,7 +19342,8 @@ if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; the && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -18998,8 +19553,8 @@ printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_ext=c +else case e in #( + e) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -19019,8 +19574,9 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_cc_needs_belf=yes -else $as_nop - lt_cv_cc_needs_belf=no +else case e in #( + e) lt_cv_cc_needs_belf=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -19029,7 +19585,8 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } @@ -19087,8 +19644,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$MANIFEST_TOOL"; then +else case e in #( + e) if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19110,7 +19667,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then @@ -19132,8 +19690,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_MANIFEST_TOOL"; then +else case e in #( + e) if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19155,7 +19713,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then @@ -19187,15 +19746,16 @@ printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if test ${lt_cv_path_mainfest_tool+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_path_mainfest_tool=no +else case e in #( + e) lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi - rm -f conftest* + rm -f conftest* ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } @@ -19218,8 +19778,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DSYMUTIL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$DSYMUTIL"; then +else case e in #( + e) if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19241,7 +19801,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then @@ -19263,8 +19824,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_DSYMUTIL"; then +else case e in #( + e) if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19286,7 +19847,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then @@ -19320,8 +19882,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_NMEDIT+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$NMEDIT"; then +else case e in #( + e) if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19343,7 +19905,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then @@ -19365,8 +19928,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_NMEDIT+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_NMEDIT"; then +else case e in #( + e) if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19388,7 +19951,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then @@ -19422,8 +19986,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_LIPO+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$LIPO"; then +else case e in #( + e) if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19445,7 +20009,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then @@ -19467,8 +20032,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_LIPO+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_LIPO"; then +else case e in #( + e) if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19490,7 +20055,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then @@ -19524,8 +20090,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$OTOOL"; then +else case e in #( + e) if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19547,7 +20113,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then @@ -19569,8 +20136,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_OTOOL"; then +else case e in #( + e) if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19592,7 +20159,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then @@ -19626,8 +20194,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL64+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$OTOOL64"; then +else case e in #( + e) if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19649,7 +20217,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then @@ -19671,8 +20240,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL64+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_OTOOL64"; then +else case e in #( + e) if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19694,7 +20263,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then @@ -19751,8 +20321,8 @@ printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_apple_cc_single_mod=no +else case e in #( + e) lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE @@ -19778,7 +20348,8 @@ else $as_nop fi rm -rf libconftest.dylib* rm -f conftest.* - fi + fi ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } @@ -19788,8 +20359,8 @@ printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_ld_exported_symbols_list=no +else case e in #( + e) lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" @@ -19807,13 +20378,15 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_ld_exported_symbols_list=yes -else $as_nop - lt_cv_ld_exported_symbols_list=no +else case e in #( + e) lt_cv_ld_exported_symbols_list=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } @@ -19823,8 +20396,8 @@ printf %s "checking for -force_load linker flag... " >&6; } if test ${lt_cv_ld_force_load+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_ld_force_load=no +else case e in #( + e) lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF @@ -19849,7 +20422,8 @@ _LT_EOF fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 printf "%s\n" "$lt_cv_ld_force_load" >&6; } @@ -19953,8 +20527,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AS+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$AS"; then +else case e in #( + e) if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -19976,7 +20550,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi AS=$ac_cv_prog_AS if test -n "$AS"; then @@ -19998,8 +20573,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AS+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_AS"; then +else case e in #( + e) if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20021,7 +20596,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then @@ -20055,8 +20631,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DLLTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$DLLTOOL"; then +else case e in #( + e) if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20078,7 +20654,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then @@ -20100,8 +20677,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DLLTOOL+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_DLLTOOL"; then +else case e in #( + e) if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20123,7 +20700,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then @@ -20157,8 +20735,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJDUMP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$OBJDUMP"; then +else case e in #( + e) if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20180,7 +20758,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then @@ -20202,8 +20781,8 @@ printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OBJDUMP+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_OBJDUMP"; then +else case e in #( + e) if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -20225,7 +20804,8 @@ done done IFS=$as_save_IFS -fi +fi ;; +esac fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then @@ -20291,8 +20871,9 @@ then : IFS=$lt_save_ifs ;; esac -else $as_nop - enable_static=no +else case e in #( + e) enable_static=no ;; +esac fi @@ -20321,8 +20902,9 @@ then : IFS=$lt_save_ifs ;; esac -else $as_nop - pic_mode=yes +else case e in #( + e) pic_mode=yes ;; +esac fi @@ -20357,8 +20939,9 @@ then : IFS=$lt_save_ifs ;; esac -else $as_nop - enable_shared=yes +else case e in #( + e) enable_shared=yes ;; +esac fi @@ -20391,8 +20974,9 @@ then : IFS=$lt_save_ifs ;; esac -else $as_nop - enable_fast_install=yes +else case e in #( + e) enable_fast_install=yes ;; +esac fi @@ -20419,15 +21003,17 @@ then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else $as_nop - if test ${lt_cv_with_aix_soname+y} +else case e in #( + e) if test ${lt_cv_with_aix_soname+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_with_aix_soname=aix +else case e in #( + e) lt_cv_with_aix_soname=aix ;; +esac fi - with_aix_soname=$lt_cv_with_aix_soname + with_aix_soname=$lt_cv_with_aix_soname ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 @@ -20518,8 +21104,8 @@ printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : printf %s "(cached) " >&6 -else $as_nop - rm -f .libs 2>/dev/null +else case e in #( + e) rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs @@ -20527,7 +21113,8 @@ else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi -rmdir .libs 2>/dev/null +rmdir .libs 2>/dev/null ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 printf "%s\n" "$lt_cv_objdir" >&6; } @@ -20588,8 +21175,8 @@ printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 -else $as_nop - case $MAGIC_CMD in +else case e in #( + e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; @@ -20632,6 +21219,7 @@ _LT_EOF IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; +esac ;; esac fi @@ -20655,8 +21243,8 @@ printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 -else $as_nop - case $MAGIC_CMD in +else case e in #( + e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; @@ -20699,6 +21287,7 @@ _LT_EOF IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; +esac ;; esac fi @@ -20798,8 +21387,8 @@ printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_rtti_exceptions=no +else case e in #( + e) lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment @@ -20827,7 +21416,8 @@ else $as_nop fi fi $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } @@ -21192,8 +21782,9 @@ printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +else case e in #( + e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } @@ -21208,8 +21799,8 @@ printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_pic_works=no +else case e in #( + e) lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment @@ -21237,7 +21828,8 @@ else $as_nop fi fi $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } @@ -21273,8 +21865,8 @@ printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_static_works=no +else case e in #( + e) lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -21295,7 +21887,8 @@ else $as_nop fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } @@ -21317,8 +21910,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_c_o=no +else case e in #( + e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -21358,7 +21951,8 @@ else $as_nop cd .. $RM -r conftest $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -21373,8 +21967,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_c_o=no +else case e in #( + e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -21414,7 +22008,8 @@ else $as_nop cd .. $RM -r conftest $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -22009,8 +22604,8 @@ else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -22042,7 +22637,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi - + ;; +esac fi aix_libpath=$lt_cv_aix_libpath_ @@ -22064,8 +22660,8 @@ else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -22097,7 +22693,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi - + ;; +esac fi aix_libpath=$lt_cv_aix_libpath_ @@ -22348,8 +22945,8 @@ printf %s "checking if $CC understands -b... " >&6; } if test ${lt_cv_prog_compiler__b+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler__b=no +else case e in #( + e) lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -22370,7 +22967,8 @@ else $as_nop fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } @@ -22418,8 +23016,8 @@ printf %s "checking whether the $host_os linker accepts -exported_symbol... " >& if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 -else $as_nop - save_LDFLAGS=$LDFLAGS +else case e in #( + e) save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -22428,12 +23026,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes -else $as_nop - lt_cv_irix_exported_symbol=no +else case e in #( + e) lt_cv_irix_exported_symbol=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS + LDFLAGS=$save_LDFLAGS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } @@ -22759,8 +23359,8 @@ printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc+y} then : printf %s "(cached) " >&6 -else $as_nop - $RM conftest* +else case e in #( + e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -22796,7 +23396,8 @@ else $as_nop cat conftest.err 1>&5 fi $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } @@ -23523,8 +24124,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_shlibpath_overrides_runpath=no +else case e in #( + e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ @@ -23551,7 +24152,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir - + ;; +esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath @@ -23976,16 +24578,22 @@ printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char dlopen (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (void); int main (void) { @@ -23997,24 +24605,27 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes -else $as_nop - ac_cv_lib_dl_dlopen=no +else case e in #( + e) ac_cv_lib_dl_dlopen=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else $as_nop - +else case e in #( + e) lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes - + ;; +esac fi ;; @@ -24032,22 +24643,28 @@ fi if test "x$ac_cv_func_shl_load" = xyes then : lt_cv_dlopen=shl_load -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char shl_load (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (void); int main (void) { @@ -24059,39 +24676,47 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_shl_load=yes -else $as_nop - ac_cv_lib_dld_shl_load=no +else case e in #( + e) ac_cv_lib_dld_shl_load=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else $as_nop - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +else case e in #( + e) ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : lt_cv_dlopen=dlopen -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char dlopen (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (void); int main (void) { @@ -24103,34 +24728,42 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes -else $as_nop - ac_cv_lib_dl_dlopen=no +else case e in #( + e) ac_cv_lib_dl_dlopen=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char dlopen (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (void); int main (void) { @@ -24142,34 +24775,42 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_svld_dlopen=yes -else $as_nop - ac_cv_lib_svld_dlopen=no +else case e in #( + e) ac_cv_lib_svld_dlopen=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char dld_link (); + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (void); int main (void) { @@ -24181,12 +24822,14 @@ _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_dld_link=yes -else $as_nop - ac_cv_lib_dld_dld_link=no +else case e in #( + e) ac_cv_lib_dld_dld_link=no ;; +esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +LIBS=$ac_check_lib_save_LIBS ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } @@ -24195,19 +24838,24 @@ then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi - + ;; +esac fi - + ;; +esac fi - + ;; +esac fi - + ;; +esac fi - + ;; +esac fi ;; @@ -24235,8 +24883,8 @@ printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : printf %s "(cached) " >&6 -else $as_nop - if test yes = "$cross_compiling"; then : +else case e in #( + e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -24330,7 +24978,8 @@ _LT_EOF fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 printf "%s\n" "$lt_cv_dlopen_self" >&6; } @@ -24342,8 +24991,8 @@ printf %s "checking whether a statically linked program can dlopen itself... " > if test ${lt_cv_dlopen_self_static+y} then : printf %s "(cached) " >&6 -else $as_nop - if test yes = "$cross_compiling"; then : +else case e in #( + e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -24437,7 +25086,8 @@ _LT_EOF fi rm -fr conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } @@ -24595,8 +25245,8 @@ if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} then : printf %s "(cached) " >&6 -else $as_nop - # Double quotes because $CXX needs to be expanded +else case e in #( + e) # Double quotes because $CXX needs to be expanded for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false @@ -24614,9 +25264,10 @@ _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : -else $as_nop - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -24630,15 +25281,16 @@ if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue -else $as_nop - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : @@ -24647,7 +25299,8 @@ fi done ac_cv_prog_CXXCPP=$CXXCPP - + ;; +esac fi CXXCPP=$ac_cv_prog_CXXCPP else @@ -24670,9 +25323,10 @@ _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : -else $as_nop - # Broken: fails on valid input. -continue +else case e in #( + e) # Broken: fails on valid input. +continue ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -24686,24 +25340,26 @@ if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue -else $as_nop - # Passes both tests. +else case e in #( + e) # Passes both tests. ac_preproc_ok=: -break +break ;; +esac fi rm -f conftest.err conftest.i conftest.$ac_ext done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +# Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +else case e in #( + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } ;; +esac fi ac_ext=cpp @@ -24840,8 +25496,9 @@ cc_basename=$func_cc_basename_result if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else $as_nop - with_gnu_ld=no +else case e in #( + e) with_gnu_ld=no ;; +esac fi ac_prog=ld @@ -24886,8 +25543,8 @@ fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 -else $as_nop - if test -z "$LD"; then +else case e in #( + e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs @@ -24910,7 +25567,8 @@ else $as_nop IFS=$lt_save_ifs else lt_cv_path_LD=$LD # Let the user override the test with a path. -fi +fi ;; +esac fi LD=$lt_cv_path_LD @@ -24927,8 +25585,8 @@ printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 -else $as_nop - # I'd rather use --version here, but apparently some GNU lds only accept -v. +else case e in #( + e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &1 &5 @@ -25135,8 +25794,8 @@ else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -25168,7 +25827,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi - + ;; +esac fi aix_libpath=$lt_cv_aix_libpath__CXX @@ -25191,8 +25851,8 @@ else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -25224,7 +25884,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi - + ;; +esac fi aix_libpath=$lt_cv_aix_libpath__CXX @@ -26596,8 +27257,9 @@ printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +else case e in #( + e) lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } @@ -26612,8 +27274,8 @@ printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " > if test ${lt_cv_prog_compiler_pic_works_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_pic_works_CXX=no +else case e in #( + e) lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment @@ -26641,7 +27303,8 @@ else $as_nop fi fi $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } @@ -26671,8 +27334,8 @@ printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; if test ${lt_cv_prog_compiler_static_works_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_static_works_CXX=no +else case e in #( + e) lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext @@ -26693,7 +27356,8 @@ else $as_nop fi $RM -r conftest* LDFLAGS=$save_LDFLAGS - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } @@ -26712,8 +27376,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_c_o_CXX=no +else case e in #( + e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -26753,7 +27417,8 @@ else $as_nop cd .. $RM -r conftest $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } @@ -26765,8 +27430,8 @@ printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_prog_compiler_c_o_CXX=no +else case e in #( + e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest @@ -26806,7 +27471,8 @@ else $as_nop cd .. $RM -r conftest $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } @@ -26911,8 +27577,8 @@ printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc_CXX+y} then : printf %s "(cached) " >&6 -else $as_nop - $RM conftest* +else case e in #( + e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -26948,7 +27614,8 @@ else $as_nop cat conftest.err 1>&5 fi $RM conftest* - + ;; +esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } @@ -27512,8 +28179,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 -else $as_nop - lt_cv_shlibpath_overrides_runpath=no +else case e in #( + e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ @@ -27540,7 +28207,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir - + ;; +esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath @@ -27955,8 +28623,8 @@ cat >confcache <<\_ACEOF # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the +# 'ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF @@ -27986,14 +28654,14 @@ printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote + # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) - # `set' quotes correctly as required by POSIX, so do not add quotes. + # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | @@ -28102,6 +28770,12 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +# Check whether --enable-year2038 was given. +if test ${enable_year2038+y} +then : + enableval=$enable_year2038; +fi + if test -z "${USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_TRUE}" && test -z "${USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_FALSE}"; then as_fn_error $? "conditional \"USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -28155,7 +28829,6 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -28164,12 +28837,13 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi @@ -28241,7 +28915,7 @@ IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -28270,7 +28944,6 @@ as_fn_error () } # as_fn_error - # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -28310,11 +28983,12 @@ then : { eval $1+=\$2 }' -else $as_nop - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -28328,11 +29002,12 @@ then : { as_val=$(( $* )) }' -else $as_nop - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -28415,9 +29090,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -28498,10 +29173,12 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 @@ -28517,7 +29194,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by log4cplus $as_me 3.0.0, which was -generated by GNU Autoconf 2.71. Invocation command line was +generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -28549,7 +29226,7 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions +'$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. @@ -28585,10 +29262,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ log4cplus config.status 3.0.0 -configured by $0, generated by GNU Autoconf 2.71, +configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -28650,8 +29327,8 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; + as_fn_error $? "ambiguous option: '$1' +Try '$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -28659,8 +29336,8 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) as_fn_error $? "unrecognized option: '$1' +Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; @@ -29115,7 +29792,7 @@ do "tests/propertyconfig_test/log4cplus.properties") CONFIG_FILES="$CONFIG_FILES tests/propertyconfig_test/log4cplus.properties" ;; "tests/propertyconfig_test/log4cplus.tail.properties") CONFIG_FILES="$CONFIG_FILES tests/propertyconfig_test/log4cplus.tail.properties" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done @@ -29135,7 +29812,7 @@ fi # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. +# after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp= @@ -29159,7 +29836,7 @@ ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. +# This happens for instance with './config.status config.h'. if test -n "$CONFIG_FILES"; then @@ -29317,13 +29994,13 @@ fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. +# This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF -# Transform confdefs.h into an awk script `defines.awk', embedded as +# Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. @@ -29433,7 +30110,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -29455,19 +30132,19 @@ do -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. + # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done - # Let's still pretend it is `configure' which instantiates (i.e., don't + # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` @@ -29600,7 +30277,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 esac _ACEOF -# Neutralize VPATH when `$srcdir' = `.'. +# Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -29631,9 +30308,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -29712,7 +30389,7 @@ printf "%s\n" "$as_me: executing $ac_file commands" >&6;} "tests/atconfig":C) cat >tests/atconfig <&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } +See 'config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} diff --git a/configure.ac b/configure.ac index d4ff7ded6..3e8befe60 100644 --- a/configure.ac +++ b/configure.ac @@ -179,6 +179,8 @@ AX_CXX_COMPILE_STDCXX([20],[],[mandatory]) AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE=1"]) +AC_SYS_YEAR2038 + AS_CASE(["$target_os"], [mingw*], [dnl Undefining __STRICT_ANSI__ is a workaround for MinGW diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 48ef49a2c..6e2086f5d 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,7 +1,7 @@ #!/bin/sh export AUTOMAKE_SUFFIX=-1.16.5 -export AUTOCONF_SUFFIX=-2.71 +export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.4.7 export ACLOCAL="aclocal${AUTOMAKE_SUFFIX}" diff --git a/tests/testsuite b/tests/testsuite index 52cee093a..4b016206f 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -1,7 +1,7 @@ #! /bin/sh -# Generated from testsuite.at by GNU Autoconf 2.71. +# Generated from testsuite.at by GNU Autoconf 2.72. # -# Copyright (C) 2009-2017, 2020-2021 Free Software Foundation, Inc. +# Copyright (C) 2009-2017, 2020-2023 Free Software Foundation, Inc. # # This test suite is free software; the Free Software Foundation gives # unlimited permission to copy, distribute and modify it. @@ -11,7 +11,6 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh @@ -20,12 +19,13 @@ then : # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( +else case e in #( + e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi @@ -97,7 +97,7 @@ IFS=$as_save_IFS ;; esac -# We did not find ourselves, most probably we were run as `sh COMMAND' +# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 @@ -109,8 +109,7 @@ fi if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="as_nop=: -if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 + as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: @@ -118,12 +117,13 @@ then : # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else \$as_nop - case \`(set -o) 2>/dev/null\` in #( +else case e in #( + e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; +esac ;; esac fi " @@ -141,8 +141,9 @@ as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else \$as_nop - exitcode=1; echo positional parameters were not saved. +else case e in #( + e) exitcode=1; echo positional parameters were not saved. ;; +esac fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah)) @@ -156,14 +157,15 @@ test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null then : as_have_required=yes -else $as_nop - as_have_required=no +else case e in #( + e) as_have_required=no ;; +esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else $as_nop - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +else case e in #( + e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do @@ -196,12 +198,13 @@ IFS=$as_save_IFS if $as_found then : -else $as_nop - if { test -f "$SHELL" || test -f "$SHELL.exe"; } && +else case e in #( + e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes -fi +fi ;; +esac fi @@ -223,7 +226,7 @@ case $- in # (((( esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. +# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi @@ -242,7 +245,8 @@ $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 -fi +fi ;; +esac fi fi SHELL=${CONFIG_SHELL-/bin/sh} @@ -281,14 +285,6 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -333,7 +329,7 @@ printf "%s\n" X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" "$LINENO" 5 } # as_fn_mkdir_p @@ -357,11 +353,12 @@ then : { eval $1+=\$2 }' -else $as_nop - as_fn_append () +else case e in #( + e) as_fn_append () { eval $1=\$$1\$2 - } + } ;; +esac fi # as_fn_append # as_fn_arith ARG... @@ -375,11 +372,12 @@ then : { as_val=$(( $* )) }' -else $as_nop - as_fn_arith () +else case e in #( + e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` - } + } ;; +esac fi # as_fn_arith @@ -455,6 +453,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits /[$]LINENO/= ' <$as_myself | sed ' + t clear + :clear s/[$]LINENO.*/&-/ t lineno b @@ -503,7 +503,6 @@ esac as_echo='printf %s\n' as_echo_n='printf %s' - rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -515,9 +514,9 @@ if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. + # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then @@ -542,10 +541,12 @@ as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed '$as_sed_sh'" # deprecated @@ -575,7 +576,7 @@ at_traceon=: at_trace_echo=: at_check_filter_trace=: -# Shall we keep the debug scripts? Must be `:' when the suite is +# Shall we keep the debug scripts? Must be ':' when the suite is # run by a debug script, so that the script doesn't remove itself. at_debug_p=false # Display help message? @@ -606,7 +607,7 @@ at_change_dir=false # Whether to enable colored test results. at_color=auto # As many question marks as there are digits in the last test group number. -# Used to normalize the test group numbers so that `ls' lists them in +# Used to normalize the test group numbers so that 'ls' lists them in # numerical order. at_format='??' # Description of all the test groups. @@ -752,7 +753,7 @@ do auto | tty | if-tty) at_color=auto ;; always | yes | force) at_color=always ;; *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` - as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; + as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" "$LINENO" 5 ;; esac ;; @@ -840,7 +841,7 @@ do fi case $at_jobs in *[!0-9]*) at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` - as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; + as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" "$LINENO" 5 ;; esac ;; @@ -881,7 +882,7 @@ do # Reject names that are not valid shell variable names. case $at_envvar in '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$at_envvar'" ;; + as_fn_error $? "invalid variable name: '$at_envvar'" "$LINENO" 5 ;; esac at_value=`printf "%s\n" "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` # Export now, but save eval for later and for debug scripts. @@ -890,7 +891,7 @@ do ;; *) printf "%s\n" "$as_me: invalid option: $at_option" >&2 - printf "%s\n" "Try \`$0 --help' for more information." >&2 + printf "%s\n" "Try '$0 --help' for more information." >&2 exit 1 ;; esac @@ -899,7 +900,7 @@ done # Verify our last option didn't require an argument if test -n "$at_prev" then : - as_fn_error $? "\`$at_prev' requires an argument" + as_fn_error $? "'$at_prev' requires an argument" "$LINENO" 5 fi # The file containing the suite. @@ -945,7 +946,7 @@ Run all the tests, or the selected TESTS, given by numeric ranges, and save a detailed log file. Upon failure, create debugging scripts. Do not change environment variables directly. Instead, set them via -command line arguments. Set \`AUTOTEST_PATH' to select the executables +command line arguments. Set 'AUTOTEST_PATH' to select the executables to exercise. Each relative directory is expanded as build and source directories relative to the top level of this distribution. E.g., from within the build directory /tmp/foo-1.0, invoking this: @@ -975,7 +976,7 @@ Execution tuning: Allow N jobs at once; infinite jobs with no arg (default 1) -k, --keywords=KEYWORDS select the tests matching all the comma-separated KEYWORDS - multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + multiple '-k' accumulate; prefixed '!' negates a KEYWORD --recheck select all tests that failed or passed unexpectedly last time -e, --errexit abort as soon as a test fails; implies --debug -v, --verbose force more detailed output @@ -1038,7 +1039,7 @@ if $at_version_p; then printf "%s\n" "$as_me (log4cplus)" && cat <<\_ATEOF || at_write_fail=1 -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This test suite is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ATEOF @@ -1062,7 +1063,7 @@ at_banner_text_2="other tests" # Take any -C into account. if $at_change_dir ; then test x != "x$at_dir" && cd "$at_dir" \ - || as_fn_error $? "unable to change directory" + || as_fn_error $? "unable to change directory" "$LINENO" 5 at_dir=`pwd` fi @@ -1070,7 +1071,7 @@ fi for at_file in atconfig atlocal do test -r $at_file || continue - . ./$at_file || as_fn_error $? "invalid content: $at_file" + . ./$at_file || as_fn_error $? "invalid content: $at_file" "$LINENO" 5 done # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: @@ -1125,7 +1126,7 @@ fi # | + ... - files created during the group # The directory the whole suite works in. -# Should be absolute to let the user `cd' at will. +# Should be absolute to let the user 'cd' at will. at_suite_dir=$at_dir/$as_me.dir # The file containing the suite ($at_dir might have changed since earlier). at_suite_log=$at_dir/$as_me.log @@ -1146,7 +1147,7 @@ fi # Don't take risks: use only absolute directories in PATH. # # For stand-alone test suites (ie. atconfig was not found), -# AUTOTEST_PATH is relative to `.'. +# AUTOTEST_PATH is relative to '.'. # # For embedded test suites, AUTOTEST_PATH is relative to the top level # of the package. Then expand it into build/src parts, since users @@ -1213,10 +1214,7 @@ PATH=$at_new_path export PATH # Setting up the FDs. - - - -# 5 is the log file. Not to be overwritten if `-d'. +# 5 is the log file. Not to be overwritten if '-d'. if $at_debug_p; then at_suite_log=/dev/null else @@ -1464,9 +1462,9 @@ printf "%s\n" "$as_me: starting at: $at_start_date" >&5 # Create the master directory if it doesn't already exist. as_dir="$at_suite_dir"; as_fn_mkdir_p || - as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 + as_fn_error $? "cannot create '$at_suite_dir'" "$LINENO" 5 -# Can we diff with `/dev/null'? DU 5.0 refuses. +# Can we diff with '/dev/null'? DU 5.0 refuses. if diff /dev/null /dev/null >/dev/null 2>&1; then at_devnull=/dev/null else @@ -1474,7 +1472,7 @@ else >"$at_devnull" fi -# Use `diff -u' when possible. +# Use 'diff -u' when possible. if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" then at_diff='diff -u' @@ -1501,7 +1499,7 @@ BEGIN { FS="" } as_fn_error $? "cannot create test line number cache" "$LINENO" 5 rm -f "$at_suite_dir/at-source-lines" -# Set number of jobs for `-j'; avoid more jobs than test groups. +# Set number of jobs for '-j'; avoid more jobs than test groups. set X $at_groups; shift; at_max_jobs=$# if test $at_max_jobs -eq 0; then at_jobs=1 @@ -1578,7 +1576,7 @@ then fi || { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 printf "%s\n" "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} - # Be tolerant if the above `rm' was not able to remove the directory. + # Be tolerant if the above 'rm' was not able to remove the directory. as_dir="$at_group_dir"; as_fn_mkdir_p echo 0 > "$at_status_file" @@ -1617,7 +1615,7 @@ at_fn_group_banner () at_fn_group_postprocess () { # Be sure to come back to the suite directory, in particular - # since below we might `rm' the group directory we are in currently. + # since below we might 'rm' the group directory we are in currently. cd "$at_suite_dir" if test ! -f "$at_check_line_file"; then @@ -2038,7 +2036,7 @@ _ASBOX if $at_debug_p; then at_msg='per-test log files' else - at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + at_msg="'${at_testdir+${at_testdir}/}$as_me.log'" fi at_msg1a=${at_xpass_list:+', '} at_msg1=$at_fail_list${at_fail_list:+" failed$at_msg1a"} @@ -2051,7 +2049,7 @@ _ASBOX You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may -be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. +be found below '${at_testdir+${at_testdir}/}$as_me.dir'. " exit 1 fi From 835aa68f1bac08070cc08b815ff7a3d3f59249bd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 11:51:23 +0100 Subject: [PATCH 255/353] Check for C++23 compat, not C++20 compat. We are using C++20 on this branch. --- configure | 18 +++++++++--------- configure.ac | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/configure b/configure index b29f5f9f5..adf9c7939 100755 --- a/configure +++ b/configure @@ -10157,13 +10157,13 @@ case ".$var" in esac ;; esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++20-compat" >&5 -printf %s "checking CXXFLAGS for gcc -Wc++20-compat... " >&6; } -if test ${ax_cv_cxxflags_gcc_option__Wcpp20_compat+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CXXFLAGS for gcc -Wc++23-compat" >&5 +printf %s "checking CXXFLAGS for gcc -Wc++23-compat... " >&6; } +if test ${ax_cv_cxxflags_gcc_option__Wcpp23_compat+y} then : printf %s "(cached) " >&6 else case e in #( - e) ax_cv_cxxflags_gcc_option__Wcpp20_compat="no, unknown" + e) ax_cv_cxxflags_gcc_option__Wcpp23_compat="no, unknown" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10171,7 +10171,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_save_CXXFLAGS="$CXXFLAGS" -for ac_arg in "-pedantic -Werror % -Wc++20-compat" "-pedantic % -Wc++20-compat %% no, obsolete" # +for ac_arg in "-pedantic -Werror % -Wc++23-compat" "-pedantic % -Wc++23-compat %% no, obsolete" # do CXXFLAGS="$ac_save_CXXFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -10186,7 +10186,7 @@ zero = 0; return zero; _ACEOF if ac_fn_cxx_try_link "$LINENO" then : - ax_cv_cxxflags_gcc_option__Wcpp20_compat=`echo $ac_arg | sed -e 's,.*% *,,'`; break + ax_cv_cxxflags_gcc_option__Wcpp23_compat=`echo $ac_arg | sed -e 's,.*% *,,'`; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -10201,9 +10201,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ;; esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&5 -printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp20_compat" >&6; } -var=$ax_cv_cxxflags_gcc_option__Wcpp20_compat +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxxflags_gcc_option__Wcpp23_compat" >&5 +printf "%s\n" "$ax_cv_cxxflags_gcc_option__Wcpp23_compat" >&6; } +var=$ax_cv_cxxflags_gcc_option__Wcpp23_compat case ".$var" in .ok|.ok,*) ;; .|.no|.no,*) ;; diff --git a/configure.ac b/configure.ac index 3e8befe60..6428bcab3 100644 --- a/configure.ac +++ b/configure.ac @@ -267,7 +267,7 @@ AS_CASE([$ax_cv_cxx_compiler_vendor], [mingw*], [], [AX_CXXFLAGS_GCC_OPTION([-Wold-style-cast])]) dnl AX_CXXFLAGS_GCC_OPTION([-Wabi]) - AX_CXXFLAGS_GCC_OPTION([-Wc++20-compat]) + AX_CXXFLAGS_GCC_OPTION([-Wc++23-compat]) dnl AX_CXXFLAGS_GCC_OPTION([-Wconversion]) AX_CXXFLAGS_GCC_OPTION([-Wundef]) AX_CXXFLAGS_GCC_OPTION([-Wshadow]) From 43ac039e8f7689997c636211482a3a527380fa78 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 12:46:35 +0100 Subject: [PATCH 256/353] Fix leaks and use after free in tests in objectregistry.cxx. --- src/objectregistry.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 677b5c58a..55ba03df3 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -135,6 +135,11 @@ CATCH_TEST_CASE ("ObjectRegistryBase") class TestObjectRegistry : public ObjectRegistryBase { public: + virtual ~TestObjectRegistry () + { + clear (); + } + using ObjectRegistryBase::putVal; using ObjectRegistryBase::getVal; using ObjectRegistryBase::clear; @@ -151,8 +156,11 @@ CATCH_TEST_CASE ("ObjectRegistryBase") CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("doesnotexist")) == nullptr); std::string * const str = new std::string ("test"); CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("a"), str)); - CATCH_REQUIRE (!reg.putVal (LOG4CPLUS_TEXT ("a"), str)); - std::string * str2 = new std::string ("test2"); + // Remember, the pointer is owned by the registry, thus we can't + // use the `str` pointer in this statement. + CATCH_REQUIRE (!reg.putVal (LOG4CPLUS_TEXT ("a"), + new std::string ("test"))); + std::string * const str2 = new std::string ("test2"); CATCH_REQUIRE (reg.putVal (LOG4CPLUS_TEXT ("b"), str2)); CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("a")) == str); CATCH_REQUIRE (reg.getVal (LOG4CPLUS_TEXT ("b")) == str2); From eda9cbf9e5e72262c50d406e7f690a4482557b47 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 28 Dec 2023 23:03:45 +0100 Subject: [PATCH 257/353] mdc.cxx: Clear MDC before tests. --- src/mdc.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mdc.cxx b/src/mdc.cxx index 6e9bab099..bb0dddf78 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -262,6 +262,7 @@ CATCH_TEST_CASE ("MDC", "[MDC]") tstring str; std::optional opt_str; MDC & mdc = getMDC (); + mdc.clear (); mdc.put (LOG4CPLUS_TEXT ("key1"), LOG4CPLUS_TEXT ("value1")); mdc.put (LOG4CPLUS_TEXT ("key2"), LOG4CPLUS_TEXT ("value2")); From 7c51fbc856b32d8fed6e882b5e8746ac37d3ab8f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 Dec 2023 14:45:28 +0100 Subject: [PATCH 258/353] Use string_view in MDC API. Fix use of moved-from object. --- include/log4cplus/mdc.h | 20 +++++++----- include/log4cplus/tstring.h | 25 ++++++++++++++ src/mdc.cxx | 65 ++++++++++++++++++++++++++++++------- 3 files changed, 89 insertions(+), 21 deletions(-) diff --git a/include/log4cplus/mdc.h b/include/log4cplus/mdc.h index 206e68041..f2cbc1a07 100644 --- a/include/log4cplus/mdc.h +++ b/include/log4cplus/mdc.h @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include @@ -48,10 +48,12 @@ using MappedDiagnosticContextStack = std::deque; //! Mapped diagnostic context map of keys to stacks of values. using MappedDiagnosticContextStacksMap - = std::unordered_map; + = std::unordered_map>; //! Mapped diagnostic context map, keys to values. -using MappedDiagnosticContextMap = std::map; +using MappedDiagnosticContextMap = std::map>; //! Internal MDC storage. struct LOG4CPLUS_EXPORT MappedDiagnosticContext final @@ -97,8 +99,8 @@ class LOG4CPLUS_EXPORT MDC * \param key MDC key * \param value MDC value */ - void put (tstring const & key, tstring const & value); - void put (tstring const & key, tstring && value); + void put (tstring_view const & key, tstring const & value); + void put (tstring_view const & key, tstring && value); /**@}*/ /** @@ -111,13 +113,13 @@ class LOG4CPLUS_EXPORT MDC * \return std::optional Return previous value, if any, * stored in MDC. */ - void push (tstring const & key, tstring const & value); - void push (tstring const & key, tstring && value); + void push (tstring_view const & key, tstring_view const & value); + void push (tstring_view const & key, tstring && value); /**@}*/ void pop (tstring const & key); - std::optional get (tstring const & key) const; + std::optional get (tstring_view const & key) const; void remove (tstring const & key); MappedDiagnosticContextMap const & getContext () const; @@ -134,7 +136,7 @@ class LOG4CPLUS_EXPORT MDC class LOG4CPLUS_EXPORT MDCGuard { public: - MDCGuard (tstring const &&, tstring const &&); + MDCGuard (tstring &&, tstring &&); MDCGuard (tstring const &, tstring const &); ~MDCGuard (); diff --git a/include/log4cplus/tstring.h b/include/log4cplus/tstring.h index 6eb7ee7b7..68ed3e41a 100644 --- a/include/log4cplus/tstring.h +++ b/include/log4cplus/tstring.h @@ -31,6 +31,7 @@ #endif #include +#include #include #include #include @@ -44,6 +45,30 @@ using tstring_view = std::basic_string_view; namespace helpers { +struct tstring_hash +{ + using is_transparent = void; + + std::size_t + operator () (tchar const * str) const + { + return std::hash{} (str); + } + + std::size_t + operator () (tstring_view str) const + { + return std::hash{} (str); + } + + std::size_t + operator () (tstring const & str) const + { + return std::hash{} (str); + } +}; + + inline std::string tostring (char const * str) diff --git a/src/mdc.cxx b/src/mdc.cxx index bb0dddf78..39ee51784 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -84,10 +84,11 @@ template static auto insert_or_assign (Map & map, Key && key, Value && value) --> std::optional::type> +-> std::optional { - using ValueType = typename std::remove_cvref::type; - auto result = map.emplace (key, std::forward (value)); + using ValueType = typename Map::mapped_type; + auto result = map.emplace (std::forward(key), + std::forward (value)); if (result.second) return std::optional (); else @@ -101,7 +102,7 @@ insert_or_assign (Map & map, Key && key, Value && value) void -MDC::put (tstring const & key, tstring const & value) +MDC::put (tstring_view const & key, tstring const & value) { MappedDiagnosticContextMap & mdc_map = getPtr ()->context_map; insert_or_assign (mdc_map, key, value); @@ -109,7 +110,7 @@ MDC::put (tstring const & key, tstring const & value) void -MDC::put (tstring const & key, tstring && value) +MDC::put (tstring_view const & key, tstring && value) { MappedDiagnosticContextMap & mdc_map = getPtr ()->context_map; insert_or_assign (mdc_map, key, std::move (value)); @@ -125,7 +126,7 @@ push_to_stack (StackMap & stacks_map, Key && key, Value && value) if (it != stacks_map.end ()) { MappedDiagnosticContextStack & stack = it->second; - stack.push_back (std::forward (value)); + stack.emplace_back (std::forward (value)); } else { @@ -133,14 +134,13 @@ push_to_stack (StackMap & stacks_map, Key && key, Value && value) std::forward_as_tuple (std::forward(key)), std::forward_as_tuple ( MappedDiagnosticContextStack::size_type (1), - std::forward (value))); - + tstring (std::forward (value)))); } } void -MDC::push (tstring const & key, tstring && value) +MDC::push (tstring_view const & key, tstring && value) { MappedDiagnosticContext & mdc = *getPtr (); @@ -156,7 +156,7 @@ MDC::push (tstring const & key, tstring && value) void -MDC::push (tstring const & key, tstring const & value) +MDC::push (tstring_view const & key, tstring_view const & value) { MappedDiagnosticContext & mdc = *getPtr (); @@ -195,7 +195,7 @@ MDC::pop (tstring const & key) std::optional -MDC::get (tstring const & key) const +MDC::get (tstring_view const & key) const { MappedDiagnosticContextMap const & dc = getPtr ()->context_map; auto it = dc.find (key); @@ -225,7 +225,7 @@ MDC::getContext () const // MDCGuard // -MDCGuard::MDCGuard (tstring const && key_, tstring const && value) +MDCGuard::MDCGuard (tstring && key_, tstring && value) : key (std::move (key_)) { MDC & mdc = getMDC (); @@ -266,6 +266,29 @@ CATCH_TEST_CASE ("MDC", "[MDC]") mdc.put (LOG4CPLUS_TEXT ("key1"), LOG4CPLUS_TEXT ("value1")); mdc.put (LOG4CPLUS_TEXT ("key2"), LOG4CPLUS_TEXT ("value2")); + auto & context_map = internal::get_ptd ()->mdc.context_map; + auto & stacks_map = internal::get_ptd ()->mdc.stacks_map; + + CATCH_SECTION ("hash test") + { + using Map = std::unordered_map; + Map m; + insert_or_assign (m, LOG4CPLUS_TEXT ("a"), 1); + CATCH_REQUIRE (m[LOG4CPLUS_TEXT ("a")] == 1); + insert_or_assign (m, LOG4CPLUS_TEXT ("b"), 2); + CATCH_REQUIRE (m[LOG4CPLUS_TEXT ("b")] == 2); + } + + CATCH_SECTION ("map test") + { + using Map = std::map; + Map m; + insert_or_assign (m, tstring_view (LOG4CPLUS_TEXT ("a")), 1); + CATCH_REQUIRE (m[LOG4CPLUS_TEXT ("a")] == 1); + insert_or_assign (m, tstring_view (LOG4CPLUS_TEXT ("b")), 2); + CATCH_REQUIRE (m[LOG4CPLUS_TEXT ("b")] == 2); + } + CATCH_SECTION ("get") { CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("key1"))).has_value ()); @@ -327,20 +350,38 @@ CATCH_TEST_CASE ("MDC", "[MDC]") CATCH_SECTION ("MDCGuard") { + tcerr << LOG4CPLUS_TEXT ("MDCGuard\n"); { mdc.clear (); + CATCH_REQUIRE (stacks_map.empty ()); + CATCH_REQUIRE (context_map.empty ()); CATCH_REQUIRE (! mdc.get (LOG4CPLUS_TEXT ("a")).has_value ()); { MDCGuard guard1 (LOG4CPLUS_TEXT ("a"), LOG4CPLUS_TEXT ("value1")); CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value1")); + + CATCH_REQUIRE (stacks_map.size () == 0); + CATCH_REQUIRE (context_map.size () == 1); + { CATCH_REQUIRE (value2 != LOG4CPLUS_TEXT ("value1")); MDCGuard guard2 (LOG4CPLUS_TEXT ("a"), value2); + + CATCH_REQUIRE (stacks_map.size () == 1); + CATCH_REQUIRE (stacks_map[LOG4CPLUS_TEXT ("a")].size () == 1); + CATCH_REQUIRE (stacks_map[LOG4CPLUS_TEXT ("a")][0] == value1); + CATCH_REQUIRE (context_map.size () == 1); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); CATCH_REQUIRE (*opt_str == value2); } + + CATCH_REQUIRE (stacks_map.size () == 1); + CATCH_REQUIRE (stacks_map[LOG4CPLUS_TEXT ("a")].empty ()); + CATCH_REQUIRE (context_map.size () == 1); + CATCH_REQUIRE ((opt_str = mdc.get (LOG4CPLUS_TEXT ("a"))).has_value ()); CATCH_REQUIRE (*opt_str == LOG4CPLUS_TEXT ("value1")); } From 02e2f99567ce23b1b26eb17297f47e03f8050f14 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 Dec 2023 21:09:43 +0100 Subject: [PATCH 259/353] Test update with Automake 1.16j. --- Makefile.in | 247 ++++++++++++++------------- aclocal.m4 | 358 +++++++++++++++++++++++++--------------- ar-lib | 6 +- compile | 9 +- configure | 272 ++++++++++++++++++++---------- depcomp | 11 +- include/Makefile.in | 26 ++- install-sh | 8 +- missing | 71 +++++--- mkinstalldirs | 6 +- py-compile | 153 +++++++++++------ scripts/doautoreconf.sh | 3 +- 12 files changed, 727 insertions(+), 443 deletions(-) diff --git a/Makefile.in b/Makefile.in index bc8944f29..4e69b273f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. +# Makefile.in generated by automake 1.16j from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2021 Free Software Foundation, Inc. +# Copyright (C) 1994-2023 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -72,6 +72,8 @@ am__make_running_with_option = \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +am__rm_f = rm -f $(am__rm_f_notfound) +am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -252,10 +254,9 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ + { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgpyexecdir)" \ "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(pkgconfigdir)" @@ -1148,8 +1149,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ +am__xargs_n = @am__xargs_n@ ax_pthread_config = @ax_pthread_config@ bindir = @bindir@ build = @build@ @@ -1640,20 +1643,20 @@ include/log4cplus/config.h: include/log4cplus/stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/log4cplus/stamp-h1 include/log4cplus/stamp-h1: $(top_srcdir)/include/log4cplus/config.h.in $(top_builddir)/config.status - @rm -f include/log4cplus/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status include/log4cplus/config.h + $(AM_V_at)rm -f include/log4cplus/stamp-h1 + $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status include/log4cplus/config.h $(top_srcdir)/include/log4cplus/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f include/log4cplus/stamp-h1 - touch $@ + $(AM_V_GEN)($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + $(AM_V_at)rm -f include/log4cplus/stamp-h1 + $(AM_V_at)touch $@ include/log4cplus/config/defines.hxx: include/log4cplus/config/stamp-h2 @test -f $@ || rm -f include/log4cplus/config/stamp-h2 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/log4cplus/config/stamp-h2 include/log4cplus/config/stamp-h2: $(top_srcdir)/include/log4cplus/config/defines.hxx.in $(top_builddir)/config.status - @rm -f include/log4cplus/config/stamp-h2 - cd $(top_builddir) && $(SHELL) ./config.status include/log4cplus/config/defines.hxx + $(AM_V_at)rm -f include/log4cplus/config/stamp-h2 + $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status include/log4cplus/config/defines.hxx distclean-hdr: -rm -f include/log4cplus/config.h include/log4cplus/stamp-h1 include/log4cplus/config/defines.hxx include/log4cplus/config/stamp-h2 @@ -1673,13 +1676,8 @@ tests/propertyconfig_test/log4cplus.tail.properties: $(top_builddir)/config.stat cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list + $(am__rm_f) $(noinst_PROGRAMS) + test -z "$(EXEEXT)" || $(am__rm_f) $(noinst_PROGRAMS:$(EXEEXT)=) install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) @@ -1706,15 +1704,13 @@ uninstall-libLTLIBRARIES: done clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + -$(am__rm_f) $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } + echo rm -f $${locs}; \ + $(am__rm_f) $${locs} install-pkgpyexecLTLIBRARIES: $(pkgpyexec_LTLIBRARIES) @$(NORMAL_INSTALL) @@ -1741,15 +1737,13 @@ uninstall-pkgpyexecLTLIBRARIES: done clean-pkgpyexecLTLIBRARIES: - -test -z "$(pkgpyexec_LTLIBRARIES)" || rm -f $(pkgpyexec_LTLIBRARIES) + -$(am__rm_f) $(pkgpyexec_LTLIBRARIES) @list='$(pkgpyexec_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } + echo rm -f $${locs}; \ + $(am__rm_f) $${locs} _log4cplus.la: $(_log4cplus_la_OBJECTS) $(_log4cplus_la_DEPENDENCIES) $(EXTRA__log4cplus_la_DEPENDENCIES) $(AM_V_CXXLD)$(_log4cplus_la_LINK) $(am__log4cplus_la_rpath) $(_log4cplus_la_OBJECTS) $(_log4cplus_la_LIBADD) $(LIBS) @@ -1758,10 +1752,10 @@ _log4cplusU.la: $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_DEPENDENCIES) $(EXTRA $(AM_V_CXXLD)$(_log4cplusU_la_LINK) $(am__log4cplusU_la_rpath) $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_LIBADD) $(LIBS) src/$(am__dirstamp): @$(MKDIR_P) src - @: > src/$(am__dirstamp) + @: >>src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) - @: > src/$(DEPDIR)/$(am__dirstamp) + @: >>src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appenderattachableimpl.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appender.lo: src/$(am__dirstamp) \ @@ -1990,10 +1984,10 @@ liblog4cplusU.la: $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_DEPENDENCIES) $ $(AM_V_CXXLD)$(liblog4cplusU_la_LINK) $(am_liblog4cplusU_la_rpath) $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_LIBADD) $(LIBS) qt4debugappender/$(am__dirstamp): @$(MKDIR_P) qt4debugappender - @: > qt4debugappender/$(am__dirstamp) + @: >>qt4debugappender/$(am__dirstamp) qt4debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt4debugappender/$(DEPDIR) - @: > qt4debugappender/$(DEPDIR)/$(am__dirstamp) + @: >>qt4debugappender/$(DEPDIR)/$(am__dirstamp) qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo: \ qt4debugappender/$(am__dirstamp) \ qt4debugappender/$(DEPDIR)/$(am__dirstamp) @@ -2008,10 +2002,10 @@ liblog4cplusqt4debugappenderU.la: $(liblog4cplusqt4debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt4debugappenderU_la_LINK) $(am_liblog4cplusqt4debugappenderU_la_rpath) $(liblog4cplusqt4debugappenderU_la_OBJECTS) $(liblog4cplusqt4debugappenderU_la_LIBADD) $(LIBS) qt5debugappender/$(am__dirstamp): @$(MKDIR_P) qt5debugappender - @: > qt5debugappender/$(am__dirstamp) + @: >>qt5debugappender/$(am__dirstamp) qt5debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt5debugappender/$(DEPDIR) - @: > qt5debugappender/$(DEPDIR)/$(am__dirstamp) + @: >>qt5debugappender/$(DEPDIR)/$(am__dirstamp) qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo: \ qt5debugappender/$(am__dirstamp) \ qt5debugappender/$(DEPDIR)/$(am__dirstamp) @@ -2026,10 +2020,10 @@ liblog4cplusqt5debugappenderU.la: $(liblog4cplusqt5debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt5debugappenderU_la_LINK) $(am_liblog4cplusqt5debugappenderU_la_rpath) $(liblog4cplusqt5debugappenderU_la_OBJECTS) $(liblog4cplusqt5debugappenderU_la_LIBADD) $(LIBS) tests/appender_test/$(am__dirstamp): @$(MKDIR_P) tests/appender_test - @: > tests/appender_test/$(am__dirstamp) + @: >>tests/appender_test/$(am__dirstamp) tests/appender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/appender_test/$(DEPDIR) - @: > tests/appender_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/appender_test/$(DEPDIR)/$(am__dirstamp) tests/appender_test/main.$(OBJEXT): \ tests/appender_test/$(am__dirstamp) \ tests/appender_test/$(DEPDIR)/$(am__dirstamp) @@ -2046,10 +2040,10 @@ appender_testU$(EXEEXT): $(appender_testU_OBJECTS) $(appender_testU_DEPENDENCIES $(AM_V_CXXLD)$(appender_testU_LINK) $(appender_testU_OBJECTS) $(appender_testU_LDADD) $(LIBS) tests/configandwatch_test/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test - @: > tests/configandwatch_test/$(am__dirstamp) + @: >>tests/configandwatch_test/$(am__dirstamp) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test/$(DEPDIR) - @: > tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) tests/configandwatch_test/main.$(OBJEXT): \ tests/configandwatch_test/$(am__dirstamp) \ tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) @@ -2066,10 +2060,10 @@ configandwatch_testU$(EXEEXT): $(configandwatch_testU_OBJECTS) $(configandwatch_ $(AM_V_CXXLD)$(configandwatch_testU_LINK) $(configandwatch_testU_OBJECTS) $(configandwatch_testU_LDADD) $(LIBS) tests/customloglevel_test/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test - @: > tests/customloglevel_test/$(am__dirstamp) + @: >>tests/customloglevel_test/$(am__dirstamp) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test/$(DEPDIR) - @: > tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) tests/customloglevel_test/func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2092,10 +2086,10 @@ customloglevel_testU$(EXEEXT): $(customloglevel_testU_OBJECTS) $(customloglevel_ $(AM_V_CXXLD)$(customloglevel_testU_LINK) $(customloglevel_testU_OBJECTS) $(customloglevel_testU_LDADD) $(LIBS) tests/fileappender_test/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test - @: > tests/fileappender_test/$(am__dirstamp) + @: >>tests/fileappender_test/$(am__dirstamp) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test/$(DEPDIR) - @: > tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) tests/fileappender_test/main.$(OBJEXT): \ tests/fileappender_test/$(am__dirstamp) \ tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) @@ -2112,10 +2106,10 @@ fileappender_testU$(EXEEXT): $(fileappender_testU_OBJECTS) $(fileappender_testU_ $(AM_V_CXXLD)$(fileappender_testU_LINK) $(fileappender_testU_OBJECTS) $(fileappender_testU_LDADD) $(LIBS) tests/filter_test/$(am__dirstamp): @$(MKDIR_P) tests/filter_test - @: > tests/filter_test/$(am__dirstamp) + @: >>tests/filter_test/$(am__dirstamp) tests/filter_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/filter_test/$(DEPDIR) - @: > tests/filter_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/filter_test/$(DEPDIR)/$(am__dirstamp) tests/filter_test/main.$(OBJEXT): tests/filter_test/$(am__dirstamp) \ tests/filter_test/$(DEPDIR)/$(am__dirstamp) @@ -2131,10 +2125,10 @@ filter_testU$(EXEEXT): $(filter_testU_OBJECTS) $(filter_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(filter_testU_LINK) $(filter_testU_OBJECTS) $(filter_testU_LDADD) $(LIBS) tests/hierarchy_test/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test - @: > tests/hierarchy_test/$(am__dirstamp) + @: >>tests/hierarchy_test/$(am__dirstamp) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test/$(DEPDIR) - @: > tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) tests/hierarchy_test/main.$(OBJEXT): \ tests/hierarchy_test/$(am__dirstamp) \ tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) @@ -2151,10 +2145,10 @@ hierarchy_testU$(EXEEXT): $(hierarchy_testU_OBJECTS) $(hierarchy_testU_DEPENDENC $(AM_V_CXXLD)$(hierarchy_testU_LINK) $(hierarchy_testU_OBJECTS) $(hierarchy_testU_LDADD) $(LIBS) simpleserver/$(am__dirstamp): @$(MKDIR_P) simpleserver - @: > simpleserver/$(am__dirstamp) + @: >>simpleserver/$(am__dirstamp) simpleserver/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) simpleserver/$(DEPDIR) - @: > simpleserver/$(DEPDIR)/$(am__dirstamp) + @: >>simpleserver/$(DEPDIR)/$(am__dirstamp) simpleserver/loggingserver.$(OBJEXT): simpleserver/$(am__dirstamp) \ simpleserver/$(DEPDIR)/$(am__dirstamp) @@ -2170,10 +2164,10 @@ loggingserverU$(EXEEXT): $(loggingserverU_OBJECTS) $(loggingserverU_DEPENDENCIES $(AM_V_CXXLD)$(CXXLINK) $(loggingserverU_OBJECTS) $(loggingserverU_LDADD) $(LIBS) tests/loglog_test/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test - @: > tests/loglog_test/$(am__dirstamp) + @: >>tests/loglog_test/$(am__dirstamp) tests/loglog_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test/$(DEPDIR) - @: > tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/loglog_test/$(DEPDIR)/$(am__dirstamp) tests/loglog_test/main.$(OBJEXT): tests/loglog_test/$(am__dirstamp) \ tests/loglog_test/$(DEPDIR)/$(am__dirstamp) @@ -2189,10 +2183,10 @@ loglog_testU$(EXEEXT): $(loglog_testU_OBJECTS) $(loglog_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(loglog_testU_LINK) $(loglog_testU_OBJECTS) $(loglog_testU_LDADD) $(LIBS) tests/ndc_test/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test - @: > tests/ndc_test/$(am__dirstamp) + @: >>tests/ndc_test/$(am__dirstamp) tests/ndc_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test/$(DEPDIR) - @: > tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/ndc_test/$(DEPDIR)/$(am__dirstamp) tests/ndc_test/main.$(OBJEXT): tests/ndc_test/$(am__dirstamp) \ tests/ndc_test/$(DEPDIR)/$(am__dirstamp) @@ -2208,10 +2202,10 @@ ndc_testU$(EXEEXT): $(ndc_testU_OBJECTS) $(ndc_testU_DEPENDENCIES) $(EXTRA_ndc_t $(AM_V_CXXLD)$(ndc_testU_LINK) $(ndc_testU_OBJECTS) $(ndc_testU_LDADD) $(LIBS) tests/ostream_test/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test - @: > tests/ostream_test/$(am__dirstamp) + @: >>tests/ostream_test/$(am__dirstamp) tests/ostream_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test/$(DEPDIR) - @: > tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/ostream_test/$(DEPDIR)/$(am__dirstamp) tests/ostream_test/main.$(OBJEXT): tests/ostream_test/$(am__dirstamp) \ tests/ostream_test/$(DEPDIR)/$(am__dirstamp) @@ -2227,10 +2221,10 @@ ostream_testU$(EXEEXT): $(ostream_testU_OBJECTS) $(ostream_testU_DEPENDENCIES) $ $(AM_V_CXXLD)$(ostream_testU_LINK) $(ostream_testU_OBJECTS) $(ostream_testU_LDADD) $(LIBS) tests/patternlayout_test/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test - @: > tests/patternlayout_test/$(am__dirstamp) + @: >>tests/patternlayout_test/$(am__dirstamp) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test/$(DEPDIR) - @: > tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) tests/patternlayout_test/main.$(OBJEXT): \ tests/patternlayout_test/$(am__dirstamp) \ tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) @@ -2247,10 +2241,10 @@ patternlayout_testU$(EXEEXT): $(patternlayout_testU_OBJECTS) $(patternlayout_tes $(AM_V_CXXLD)$(patternlayout_testU_LINK) $(patternlayout_testU_OBJECTS) $(patternlayout_testU_LDADD) $(LIBS) tests/performance_test/$(am__dirstamp): @$(MKDIR_P) tests/performance_test - @: > tests/performance_test/$(am__dirstamp) + @: >>tests/performance_test/$(am__dirstamp) tests/performance_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/performance_test/$(DEPDIR) - @: > tests/performance_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/performance_test/$(DEPDIR)/$(am__dirstamp) tests/performance_test/main.$(OBJEXT): \ tests/performance_test/$(am__dirstamp) \ tests/performance_test/$(DEPDIR)/$(am__dirstamp) @@ -2267,10 +2261,10 @@ performance_testU$(EXEEXT): $(performance_testU_OBJECTS) $(performance_testU_DEP $(AM_V_CXXLD)$(performance_testU_LINK) $(performance_testU_OBJECTS) $(performance_testU_LDADD) $(LIBS) tests/priority_test/$(am__dirstamp): @$(MKDIR_P) tests/priority_test - @: > tests/priority_test/$(am__dirstamp) + @: >>tests/priority_test/$(am__dirstamp) tests/priority_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/priority_test/$(DEPDIR) - @: > tests/priority_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/priority_test/$(DEPDIR)/$(am__dirstamp) tests/priority_test/func.$(OBJEXT): \ tests/priority_test/$(am__dirstamp) \ tests/priority_test/$(DEPDIR)/$(am__dirstamp) @@ -2293,10 +2287,10 @@ priority_testU$(EXEEXT): $(priority_testU_OBJECTS) $(priority_testU_DEPENDENCIES $(AM_V_CXXLD)$(priority_testU_LINK) $(priority_testU_OBJECTS) $(priority_testU_LDADD) $(LIBS) tests/propertyconfig_test/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test - @: > tests/propertyconfig_test/$(am__dirstamp) + @: >>tests/propertyconfig_test/$(am__dirstamp) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test/$(DEPDIR) - @: > tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) tests/propertyconfig_test/main.$(OBJEXT): \ tests/propertyconfig_test/$(am__dirstamp) \ tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) @@ -2313,10 +2307,10 @@ propertyconfig_testU$(EXEEXT): $(propertyconfig_testU_OBJECTS) $(propertyconfig_ $(AM_V_CXXLD)$(propertyconfig_testU_LINK) $(propertyconfig_testU_OBJECTS) $(propertyconfig_testU_LDADD) $(LIBS) tests/socket_test/$(am__dirstamp): @$(MKDIR_P) tests/socket_test - @: > tests/socket_test/$(am__dirstamp) + @: >>tests/socket_test/$(am__dirstamp) tests/socket_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/socket_test/$(DEPDIR) - @: > tests/socket_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/socket_test/$(DEPDIR)/$(am__dirstamp) tests/socket_test/main.$(OBJEXT): tests/socket_test/$(am__dirstamp) \ tests/socket_test/$(DEPDIR)/$(am__dirstamp) @@ -2332,10 +2326,10 @@ socket_testU$(EXEEXT): $(socket_testU_OBJECTS) $(socket_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(socket_testU_LINK) $(socket_testU_OBJECTS) $(socket_testU_LDADD) $(LIBS) tests/thread_test/$(am__dirstamp): @$(MKDIR_P) tests/thread_test - @: > tests/thread_test/$(am__dirstamp) + @: >>tests/thread_test/$(am__dirstamp) tests/thread_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/thread_test/$(DEPDIR) - @: > tests/thread_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/thread_test/$(DEPDIR)/$(am__dirstamp) tests/thread_test/main.$(OBJEXT): tests/thread_test/$(am__dirstamp) \ tests/thread_test/$(DEPDIR)/$(am__dirstamp) @@ -2351,10 +2345,10 @@ thread_testU$(EXEEXT): $(thread_testU_OBJECTS) $(thread_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(thread_testU_LINK) $(thread_testU_OBJECTS) $(thread_testU_LDADD) $(LIBS) tests/timeformat_test/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test - @: > tests/timeformat_test/$(am__dirstamp) + @: >>tests/timeformat_test/$(am__dirstamp) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test/$(DEPDIR) - @: > tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) tests/timeformat_test/main.$(OBJEXT): \ tests/timeformat_test/$(am__dirstamp) \ tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) @@ -2371,10 +2365,10 @@ timeformat_testU$(EXEEXT): $(timeformat_testU_OBJECTS) $(timeformat_testU_DEPEND $(AM_V_CXXLD)$(timeformat_testU_LINK) $(timeformat_testU_OBJECTS) $(timeformat_testU_LDADD) $(LIBS) tests/unit_tests/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests - @: > tests/unit_tests/$(am__dirstamp) + @: >>tests/unit_tests/$(am__dirstamp) tests/unit_tests/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests/$(DEPDIR) - @: > tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + @: >>tests/unit_tests/$(DEPDIR)/$(am__dirstamp) tests/unit_tests/unit_tests.$(OBJEXT): \ tests/unit_tests/$(am__dirstamp) \ tests/unit_tests/$(DEPDIR)/$(am__dirstamp) @@ -2579,7 +2573,7 @@ distclean-compile: $(am__depfiles_remade): @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + @: >>$@ am--depfiles: $(am__depfiles_remade) @@ -3748,10 +3742,8 @@ uninstall-pkgpythonPYTHON: $(am__uninstall_files_from_dir) || st=$$?; \ done; \ dir='$(DESTDIR)$(pkgpythondir)'; \ - echo "$$py_files" | $(am__pep3147_tweak) | $(am__base_list) | \ - while read files; do \ - $(am__uninstall_files_from_dir) || st=$$?; \ - done || exit $$?; \ + files=`echo "$$py_files" | $(am__pep3147_tweak)`; \ + $(am__uninstall_files_from_dir) || st=$$?; \ exit $$st install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) @@ -3919,55 +3911,55 @@ mostlyclean-generic: clean-generic: distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f qt4debugappender/$(DEPDIR)/$(am__dirstamp) - -rm -f qt4debugappender/$(am__dirstamp) - -rm -f qt5debugappender/$(DEPDIR)/$(am__dirstamp) - -rm -f qt5debugappender/$(am__dirstamp) - -rm -f simpleserver/$(DEPDIR)/$(am__dirstamp) - -rm -f simpleserver/$(am__dirstamp) - -rm -f src/$(DEPDIR)/$(am__dirstamp) - -rm -f src/$(am__dirstamp) - -rm -f tests/appender_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/appender_test/$(am__dirstamp) - -rm -f tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/configandwatch_test/$(am__dirstamp) - -rm -f tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/customloglevel_test/$(am__dirstamp) - -rm -f tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/fileappender_test/$(am__dirstamp) - -rm -f tests/filter_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/filter_test/$(am__dirstamp) - -rm -f tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/hierarchy_test/$(am__dirstamp) - -rm -f tests/loglog_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/loglog_test/$(am__dirstamp) - -rm -f tests/ndc_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/ndc_test/$(am__dirstamp) - -rm -f tests/ostream_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/ostream_test/$(am__dirstamp) - -rm -f tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/patternlayout_test/$(am__dirstamp) - -rm -f tests/performance_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/performance_test/$(am__dirstamp) - -rm -f tests/priority_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/priority_test/$(am__dirstamp) - -rm -f tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/propertyconfig_test/$(am__dirstamp) - -rm -f tests/socket_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/socket_test/$(am__dirstamp) - -rm -f tests/thread_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/thread_test/$(am__dirstamp) - -rm -f tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/timeformat_test/$(am__dirstamp) - -rm -f tests/unit_tests/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/unit_tests/$(am__dirstamp) + -$(am__rm_f) $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) + -$(am__rm_f) qt4debugappender/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) qt4debugappender/$(am__dirstamp) + -$(am__rm_f) qt5debugappender/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) qt5debugappender/$(am__dirstamp) + -$(am__rm_f) simpleserver/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) simpleserver/$(am__dirstamp) + -$(am__rm_f) src/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) src/$(am__dirstamp) + -$(am__rm_f) tests/appender_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/appender_test/$(am__dirstamp) + -$(am__rm_f) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/configandwatch_test/$(am__dirstamp) + -$(am__rm_f) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/customloglevel_test/$(am__dirstamp) + -$(am__rm_f) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/fileappender_test/$(am__dirstamp) + -$(am__rm_f) tests/filter_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/filter_test/$(am__dirstamp) + -$(am__rm_f) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/hierarchy_test/$(am__dirstamp) + -$(am__rm_f) tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/loglog_test/$(am__dirstamp) + -$(am__rm_f) tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/ndc_test/$(am__dirstamp) + -$(am__rm_f) tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/ostream_test/$(am__dirstamp) + -$(am__rm_f) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/patternlayout_test/$(am__dirstamp) + -$(am__rm_f) tests/performance_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/performance_test/$(am__dirstamp) + -$(am__rm_f) tests/priority_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/priority_test/$(am__dirstamp) + -$(am__rm_f) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/propertyconfig_test/$(am__dirstamp) + -$(am__rm_f) tests/socket_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/socket_test/$(am__dirstamp) + -$(am__rm_f) tests/thread_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/thread_test/$(am__dirstamp) + -$(am__rm_f) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/timeformat_test/$(am__dirstamp) + -$(am__rm_f) tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/unit_tests/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -$(am__rm_f) $(BUILT_SOURCES) @ENABLE_TESTS_FALSE@clean-local: clean: clean-recursive @@ -3976,7 +3968,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo + -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo -rm -f ./$(DEPDIR)/_log4cplus_la-python_wrap.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo @@ -4179,7 +4171,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo + -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo -rm -f ./$(DEPDIR)/_log4cplus_la-python_wrap.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo @@ -4414,3 +4406,10 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigDATA \ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: + +# Tell GNU make to disable its built-in pattern rules. +%:: %,v +%:: RCS/%,v +%:: RCS/% +%:: s.% +%:: SCCS/s.% diff --git a/aclocal.m4 b/aclocal.m4 index 414793491..1b91fc750 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.5 -*- Autoconf -*- +# generated automatically by aclocal 1.16j -*- Autoconf -*- -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Copyright (C) 1996-2023 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2021 Free Software Foundation, Inc. +# Copyright (C) 2002-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.5], [], +m4_if([$1], [1.16j], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.5])dnl +[AM_AUTOMAKE_VERSION([1.16j])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2021 Free Software Foundation, Inc. +# Copyright (C) 2011-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -70,16 +70,18 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl +AC_BEFORE([$0], [AC_PROG_AR])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} +: ${ARFLAGS=cr} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [AC_LANG_PUSH([C]) am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' + [am_ar_try='$AR $ARFLAGS libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar @@ -118,7 +120,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -170,7 +172,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2021 Free Software Foundation, Inc. +# Copyright (C) 1997-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -201,7 +203,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -392,7 +394,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -460,7 +462,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Copyright (C) 1996-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -594,7 +596,7 @@ if test -z "$CSCOPE"; then fi AC_SUBST([CSCOPE]) -AC_REQUIRE([AM_SILENT_RULES])dnl +AC_REQUIRE([_AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. @@ -602,47 +604,9 @@ AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. +AC_REQUIRE([_AM_PROG_RM_F]) +AC_REQUIRE([_AM_PROG_XARGS_N]) -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. @@ -675,7 +639,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -696,7 +660,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2021 Free Software Foundation, Inc. +# Copyright (C) 2003-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -718,7 +682,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Copyright (C) 1996-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -753,7 +717,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -796,7 +760,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2021 Free Software Foundation, Inc. +# Copyright (C) 1997-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -830,7 +794,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -859,7 +823,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -906,7 +870,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -940,9 +904,11 @@ AC_DEFUN([AM_PATH_PYTHON], dnl Find a Python interpreter. Python versions prior to 2.0 are not dnl supported. (2.0 was released on October 16, 2000). m4_define_default([_AM_PYTHON_INTERPRETER_LIST], -[python python2 python3 dnl +[python python3 dnl + python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 dnl python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl python3.2 python3.1 python3.0 dnl + python2 dnl python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl python2.0]) @@ -1250,7 +1216,23 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# Copyright (C) 2022-2023 Free Software Foundation, Inc. +# +# 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. + +# _AM_PROG_RM_F +# --------------- +# Check whether 'rm -f' without any arguments works. +# https://bugs.gnu.org/10828 +AC_DEFUN([_AM_PROG_RM_F], +[am__rm_f_notfound= +AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""']) +AC_SUBST(am__rm_f_notfound) +]) + +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1269,16 +1251,104 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Copyright (C) 1996-2023 Free Software Foundation, Inc. # # 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. +# _AM_SLEEP_FRACTIONAL_SECONDS +# ---------------------------- +AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl +AC_CACHE_CHECK([whether sleep supports fractional seconds], + am_cv_sleep_fractional_seconds, [dnl +AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=true], + [am_cv_sleep_fractional_seconds=false]) +])]) + +# _AM_FILESYSTEM_TIMESTAMP_RESOLUTION +# ----------------------------------- +# Determine the filesystem's resolution for file modification +# timestamps. The coarsest we know of is FAT, with a resolution +# of only two seconds, even with the most recent "exFAT" extensions. +# The finest (e.g. ext4 with large inodes, XFS, ZFS) is one +# nanosecond, matching clock_gettime. However, it is probably not +# possible to delay execution of a shell script for less than one +# millisecond, due to process creation overhead and scheduling +# granularity, so we don't check for anything finer than that. +AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl +AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS]) +AC_CACHE_CHECK([filesystem timestamp resolution], am_cv_filesystem_timestamp_resolution, [dnl +# Default to the worst case. +am_cv_filesystem_timestamp_resolution=2 + +# Only try to go finer than 1s if sleep can do it. +am_try_resolutions=1 +if $am_cv_sleep_fractional_seconds; then + am_try_resolutions="0.001 0.01 0.1 $am_try_resolutions" +fi + +# In order to catch current-generation FAT out, we must *modify* files +# that already exist; the *creation* timestamp is finer. Use names +# that make ls -t sort them differently when they have equal +# timestamps than when they have distinct timestamps, keeping +# in mind that ls -t prints the *newest* file first. +rm -f conftest.ts? +: > conftest.ts1 +: > conftest.ts2 +: > conftest.ts3 + +# Make sure ls -t actually works. Do 'set' in a subshell so we don't +# clobber the current shell's arguments. +if ( + set X `[ls -t conftest.ts[12]]` && + { + test "$[*]" != "X conftest.ts1 conftest.ts2" || + test "$[*]" != "X conftest.ts2 conftest.ts1"; + } +); then :; else + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + _AS_ECHO_UNQUOTED( + ["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""], + [AS_MESSAGE_LOG_FD]) + AC_MSG_FAILURE([ls -t produces unexpected output. +Make sure there is not a broken alias in your environment.]) +fi + +for am_try_res in $am_try_resolutions; do + # Any one fine-grained sleep might happen to cross the boundary + # between two values of a coarser actual resolution, but if we do + # two fine-grained sleeps in a row, at least one of them will fall + # entirely within a coarse interval. + echo alpha > conftest.ts1 + sleep $am_try_res + echo beta > conftest.ts2 + sleep $am_try_res + echo gamma > conftest.ts3 + + # We assume that 'ls -t' will make use of high-resolution + # timestamps if the operating system supports them at all. + if (set X `ls -t conftest.ts?` && + test "$[]2" = conftest.ts3 && + test "$[]3" = conftest.ts2 && + test "$[]4" = conftest.ts1); then + am_cv_filesystem_timestamp_resolution=$am_try_res + break + fi +done +rm -f conftest.ts? +])]) + # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) +[AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION]) +# This check should not be cached, as it may vary across builds of +# different projects. +AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -1297,49 +1367,40 @@ esac # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! +am_build_env_is_sane=no +am_has_slept=no +rm -f conftest.file +for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + test "$[2]" = conftest.file + ); then + am_build_env_is_sane=yes + break + fi + # Just in case. + sleep $am_cv_filesystem_timestamp_resolution + am_has_slept=yes +done + +AC_MSG_RESULT([$am_build_env_is_sane]) +if test $am_build_env_is_sane = no; then + AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT([yes]) + # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & +AS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl + ( sleep $am_cv_filesystem_timestamp_resolution ) & am_sleep_pid=$! -fi +]) AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then @@ -1350,18 +1411,18 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2021 Free Software Foundation, Inc. +# Copyright (C) 2009-2023 Free Software Foundation, Inc. # # 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. -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl +# _AM_SILENT_RULES +# ---------------- +# Enable less verbose build rules support. +AC_DEFUN([_AM_SILENT_RULES], +[AM_DEFAULT_VERBOSITY=1 +AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) @@ -1369,11 +1430,6 @@ AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. @@ -1392,14 +1448,6 @@ am__doit: else am_cv_make_support_nested_variables=no fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl @@ -1408,9 +1456,33 @@ AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +dnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls +dnl to AM_SILENT_RULES to change the default value. +AC_CONFIG_COMMANDS_PRE([dnl +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; +esac +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +])dnl ]) -# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or +# empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_REQUIRE([_AM_SILENT_RULES]) +AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])]) + +# Copyright (C) 2001-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1438,7 +1510,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2021 Free Software Foundation, Inc. +# Copyright (C) 2006-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1457,7 +1529,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2021 Free Software Foundation, Inc. +# Copyright (C) 2004-2023 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1503,15 +1575,19 @@ m4_if([$1], [v7], am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) + if test x$am_uid = xunknown; then + AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work]) + elif test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) else - AC_MSG_RESULT([no]) - _am_tools=none + AC_MSG_RESULT([no]) + _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) + if test x$gm_gid = xunknown; then + AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work]) + elif test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none @@ -1588,6 +1664,26 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +# Copyright (C) 2022-2023 Free Software Foundation, Inc. +# +# 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. + +# _AM_PROG_XARGS_N +# ---------------- +# Check whether 'xargs -n' works. It should work everywhere, so the fallback +# is not optimized at all as we never expect to use it. +AC_DEFUN([_AM_PROG_XARGS_N], +[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl +AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2 +3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])]) +AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl + am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }' +])dnl +AC_SUBST(am__xargs_n) +]) + m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) diff --git a/ar-lib b/ar-lib index c349042c3..17de55e79 100755 --- a/ar-lib +++ b/ar-lib @@ -4,7 +4,7 @@ me=ar-lib scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2021 Free Software Foundation, Inc. +# Copyright (C) 2010-2023 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -135,6 +135,10 @@ do AR="$AR $1" shift ;; + -nologo | -NOLOGO) + # We always invoke AR with -nologo, so don't need to add it again. + shift + ;; *) action=$1 shift diff --git a/compile b/compile index df363c8fb..58f7f214a 100755 --- a/compile +++ b/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2018-03-07.03; # UTC +scriptversion=2023-11-23.18; # UTC -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -143,7 +143,7 @@ func_cl_wrapper () # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in - *.o | *.[oO][bB][jJ]) + *.o | *.lo | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift @@ -248,6 +248,8 @@ If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . +GNU Automake home page: . +General help using GNU software: . EOF exit $? ;; @@ -256,6 +258,7 @@ EOF exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; diff --git a/configure b/configure index adf9c7939..d542d2187 100755 --- a/configure +++ b/configure @@ -765,6 +765,8 @@ AR MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE +am__xargs_n +am__rm_f_notfound AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V @@ -3360,6 +3362,101 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether sleep supports fractional seconds" >&5 +printf %s "checking whether sleep supports fractional seconds... " >&6; } +if test ${am_cv_sleep_fractional_seconds+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if sleep 0.001 2>/dev/null +then : + am_cv_sleep_fractional_seconds=true +else case e in #( + e) am_cv_sleep_fractional_seconds=false ;; +esac +fi + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_sleep_fractional_seconds" >&5 +printf "%s\n" "$am_cv_sleep_fractional_seconds" >&6; } + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking filesystem timestamp resolution" >&5 +printf %s "checking filesystem timestamp resolution... " >&6; } +if test ${am_cv_filesystem_timestamp_resolution+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) # Default to the worst case. +am_cv_filesystem_timestamp_resolution=2 + +# Only try to go finer than 1s if sleep can do it. +am_try_resolutions=1 +if $am_cv_sleep_fractional_seconds; then + am_try_resolutions="0.001 0.01 0.1 $am_try_resolutions" +fi + +# In order to catch current-generation FAT out, we must *modify* files +# that already exist; the *creation* timestamp is finer. Use names +# that make ls -t sort them differently when they have equal +# timestamps than when they have distinct timestamps, keeping +# in mind that ls -t prints the *newest* file first. +rm -f conftest.ts? +: > conftest.ts1 +: > conftest.ts2 +: > conftest.ts3 + +# Make sure ls -t actually works. Do 'set' in a subshell so we don't +# clobber the current shell's arguments. +if ( + set X `ls -t conftest.ts[12]` && + { + test "$*" != "X conftest.ts1 conftest.ts2" || + test "$*" != "X conftest.ts2 conftest.ts1"; + } +); then :; else + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + printf "%s\n" ""Bad output from ls -t: \"`ls -t conftest.ts[12]`\""" >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "ls -t produces unexpected output. +Make sure there is not a broken alias in your environment. +See 'config.log' for more details" "$LINENO" 5; } +fi + +for am_try_res in $am_try_resolutions; do + # Any one fine-grained sleep might happen to cross the boundary + # between two values of a coarser actual resolution, but if we do + # two fine-grained sleeps in a row, at least one of them will fall + # entirely within a coarse interval. + echo alpha > conftest.ts1 + sleep $am_try_res + echo beta > conftest.ts2 + sleep $am_try_res + echo gamma > conftest.ts3 + + # We assume that 'ls -t' will make use of high-resolution + # timestamps if the operating system supports them at all. + if (set X `ls -t conftest.ts?` && + test "$2" = conftest.ts3 && + test "$3" = conftest.ts2 && + test "$4" = conftest.ts1); then + am_cv_filesystem_timestamp_resolution=$am_try_res + break + fi +done +rm -f conftest.ts? + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_filesystem_timestamp_resolution" >&5 +printf "%s\n" "$am_cv_filesystem_timestamp_resolution" >&6; } + +# This check should not be cached, as it may vary across builds of +# different projects. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory @@ -3380,49 +3477,45 @@ esac # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! +am_build_env_is_sane=no +am_has_slept=no +rm -f conftest.file +for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + test "$2" = conftest.file + ); then + am_build_env_is_sane=yes + break + fi + # Just in case. + sleep $am_cv_filesystem_timestamp_resolution + am_has_slept=yes +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_build_env_is_sane" >&5 +printf "%s\n" "$am_build_env_is_sane" >&6; } +if test $am_build_env_is_sane = no; then + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } + # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & +if test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1 +then : + +else case e in #( + e) ( sleep $am_cv_filesystem_timestamp_resolution ) & am_sleep_pid=$! + ;; +esac fi rm -f conftest.file @@ -3712,17 +3805,13 @@ else fi rmdir .tst 2>/dev/null +AM_DEFAULT_VERBOSITY=1 # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac am_make=${MAKE-make} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 printf %s "checking whether $am_make supports nested variables... " >&6; } @@ -3745,15 +3834,45 @@ esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi AM_BACKSLASH='\' +am__rm_f_notfound= +if (rm -f && rm -fr && rm -rf) 2>/dev/null +then : + +else case e in #( + e) am__rm_f_notfound='""' ;; +esac +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking xargs -n works" >&5 +printf %s "checking xargs -n works... " >&6; } +if test ${am_cv_xargs_n_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test "`echo 1 2 3 | xargs -n2 echo`" = "1 2 +3" +then : + am_cv_xargs_n_works=yes +else case e in #( + e) am_cv_xargs_n_works=no ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_xargs_n_works" >&5 +printf "%s\n" "$am_cv_xargs_n_works" >&6; } +if test "$am_cv_xargs_n_works" = yes +then : + am__xargs_n='xargs -n' +else case e in #( + e) am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "" "$am__xargs_n_arg"; done; }' + ;; +esac +fi + if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." @@ -3832,47 +3951,9 @@ fi -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi ac_config_commands="$ac_config_commands tests/atconfig" @@ -5297,6 +5378,7 @@ esac fi : ${AR=ar} +: ${ARFLAGS=cr} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 printf %s "checking the archiver ($AR) interface... " >&6; } @@ -5317,7 +5399,7 @@ int some_variable = 0; _ACEOF if ac_fn_c_try_compile "$LINENO" then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' + am_ar_try='$AR $ARFLAGS libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? @@ -16143,7 +16225,7 @@ then : printf %s "(cached) " >&6 else case e in #( e) - for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + for am_cv_pathless_PYTHON in python python3 python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys # split strings by '.' and convert to numeric. Append some zeros @@ -28730,6 +28812,18 @@ printf %s "checking that generated files are newer than configure... " >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; +esac +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi + if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' diff --git a/depcomp b/depcomp index 715e34311..0e48ffab4 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2018-03-07.03; # UTC +scriptversion=2023-11-23.18; # UTC -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2023 Free Software Foundation, Inc. # 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 @@ -47,6 +47,8 @@ Environment variables: libtool Whether libtool is used (yes/no). Report bugs to . +GNU Automake home page: . +General help using GNU software: . EOF exit $? ;; @@ -113,7 +115,6 @@ nl=' # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then @@ -198,8 +199,8 @@ gcc3) ;; gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## Note that this doesn't just cater to obsolete pre-3.x GCC compilers. +## but also to in-use compilers like IBM xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: diff --git a/include/Makefile.in b/include/Makefile.in index 8ea37be10..266334844 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. +# Makefile.in generated by automake 1.16j from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2021 Free Software Foundation, Inc. +# Copyright (C) 1994-2023 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -70,6 +70,8 @@ am__make_running_with_option = \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +am__rm_f = rm -f $(am__rm_f_notfound) +am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -165,10 +167,9 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ + { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__installdirs = "$(DESTDIR)$(log4cplusincdir)" HEADERS = $(nobase_log4cplusinc_HEADERS) @@ -308,8 +309,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ +am__xargs_n = @am__xargs_n@ ax_pthread_config = @ax_pthread_config@ bindir = @bindir@ build = @build@ @@ -587,8 +590,8 @@ mostlyclean-generic: clean-generic: distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -$(am__rm_f) $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -681,3 +684,10 @@ uninstall-am: uninstall-nobase_log4cplusincHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: + +# Tell GNU make to disable its built-in pattern rules. +%:: %,v +%:: RCS/%,v +%:: RCS/% +%:: s.% +%:: SCCS/s.% diff --git a/install-sh b/install-sh index ec298b537..7c56c9c01 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2020-11-14.01; # UTC +scriptversion=2023-11-23.18; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -124,9 +124,9 @@ it's up to you to specify -f if you want it. If -S is not specified, no backups are attempted. -Email bug reports to bug-automake@gnu.org. -Automake home page: https://www.gnu.org/software/automake/ -" +Report bugs to . +GNU Automake home page: . +General help using GNU software: ." while test $# -ne 0; do case $1 in diff --git a/missing b/missing index 1fe1611f1..89123eda6 100755 --- a/missing +++ b/missing @@ -1,9 +1,9 @@ #! /bin/sh -# Common wrapper for a few potentially missing GNU programs. +# Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2018-03-07.03; # UTC +scriptversion=2023-11-23.18; # UTC -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Copyright (C) 1996-2023 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -54,13 +54,15 @@ Options: -v, --version output version information and exit Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man +aclocal autoconf autogen autoheader autom4te automake autoreconf +bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. -Send bug reports to ." +Report bugs to . +GNU Automake home page: . +General help using GNU software: ." exit $? ;; @@ -108,7 +110,7 @@ gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in - aclocal|automake) + aclocal|automake|autoreconf) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" @@ -123,6 +125,9 @@ program_details () echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; + *) + : + ;; esac } @@ -137,48 +142,55 @@ give_advice () printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + autoheader_deps="'acconfig.h'" + automake_deps="'Makefile.am'" + aclocal_deps="'acinclude.m4'" case $normalized_program in + aclocal*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$configure_deps." + ;; autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' + echo "You should only need it if you modified $configure_deps." + ;; + autogen*) + echo "You should only need it if you modified a '.def' or '.tpl' file." + echo "You may want to install the GNU AutoGen package:" + echo "<$gnu_software_URL/autogen/>" ;; autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" + echo "You should only need it if you modified $autoheader_deps or" echo "$configure_deps." - program_details 'autoheader' ;; automake*) - echo "You should only need it if you modified 'Makefile.am' or" + echo "You should only need it if you modified $automake_deps or" echo "$configure_deps." - program_details 'automake' ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) + autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' + ;; + autoreconf*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$automake_deps or $autoheader_deps or $automake_deps or" + echo "$configure_deps." ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." @@ -189,6 +201,12 @@ give_advice () echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; + perl*) + echo "You should only need it to run GNU Autoconf, GNU Automake, " + echo " assorted other tools, or if you modified a Perl source file." + echo "You may want to install the Perl 5 language interpreter:" + echo "<$perl_URL>" + ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" @@ -197,6 +215,7 @@ give_advice () echo "case some other package contains this missing '$1' program." ;; esac + program_details "$normalized_program" } give_advice "$1" | sed -e '1s/^/WARNING: /' \ diff --git a/mkinstalldirs b/mkinstalldirs index c364f3d5e..83e8e31ec 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2020-07-26.22; # UTC +scriptversion=2023-11-23.18; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -23,7 +23,9 @@ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. -Report bugs to ." +Report bugs to . +GNU Automake home page: . +General help using GNU software: ." # process command line arguments while test $# -gt 0 ; do diff --git a/py-compile b/py-compile index 81b122b0a..b26255237 100755 --- a/py-compile +++ b/py-compile @@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2021-02-27.01; # UTC +scriptversion=2023-11-23.18; # UTC -# Copyright (C) 2000-2021 Free Software Foundation, Inc. +# Copyright (C) 2000-2023 Free Software Foundation, Inc. # 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 @@ -62,17 +62,25 @@ while test $# -ne 0; do ;; -h|--help) cat <<\EOF -Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." +Usage: py-compile [options] FILES... Byte compile some python scripts FILES. Use --destdir to specify any leading directory path to the FILES that you don't want to include in the byte compiled file. Specify --basedir for any additional path information you do want to be shown in the byte compiled file. +Options: + --basedir DIR Prefix all FILES with DIR, and include in error messages. + --destdir DIR Prefix all FILES with DIR before compiling. + -v, --version Display version information. + -h, --help This help screen. + Example: py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py Report bugs to . +GNU Automake home page: . +General help using GNU software: . EOF exit $? ;; @@ -94,8 +102,7 @@ EOF shift done -files=$* -if test -z "$files"; then +if test $# -eq 0; then usage_error "no files given" fi @@ -115,68 +122,116 @@ else filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi -python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'` +python_major=`$PYTHON -c 'import sys; print(sys.version_info[0])'` if test -z "$python_major"; then - echo "$me: could not determine $PYTHON major version, guessing 3" >&2 - python_major=3 + usage_error "could not determine $PYTHON major version" fi -# The old way to import libraries was deprecated. -if test "$python_major" -le 2; then - import_lib=imp - import_test="hasattr(imp, 'get_tag')" - import_call=imp.cache_from_source - import_arg2=', False' # needed in one call and not the other -else - import_lib=importlib - import_test="hasattr(sys.implementation, 'cache_tag')" - import_call=importlib.util.cache_from_source - import_arg2= -fi +case $python_major in +[01]) + usage_error "python version 0.x and 1.x not supported" + ;; +esac -$PYTHON -c " -import sys, os, py_compile, $import_lib +python_minor=`$PYTHON -c 'import sys; print(sys.version_info[1])'` + +# NB: When adding support for newer versions, prefer copying & adding new cases +# rather than try to keep things merged with shell variables. -files = '''$files''' +# First byte compile (no optimization) all the modules. +# This works for all currently known Python versions. +$PYTHON -c " +import sys, os, py_compile + +try: + import importlib +except ImportError: + importlib = None + +# importlib.util.cache_from_source was added in 3.4 +if ( + hasattr(importlib, 'util') + and hasattr(importlib.util, 'cache_from_source') +): + destpath = importlib.util.cache_from_source +else: + destpath = lambda filepath: filepath + 'c' sys.stdout.write('Byte-compiling python modules...\n') -for file in files.split(): +for file in sys.argv[1:]: $pathtrans $filetrans - if not os.path.exists(filepath) or not (len(filepath) >= 3 - and filepath[-3:] == '.py'): - continue - sys.stdout.write(file) + if ( + not os.path.exists(filepath) + or not (len(filepath) >= 3 and filepath[-3:] == '.py') + ): + continue + sys.stdout.write(file + ' ') sys.stdout.flush() - if $import_test: - py_compile.compile(filepath, $import_call(filepath), path) - else: - py_compile.compile(filepath, filepath + 'c', path) -sys.stdout.write('\n')" || exit $? + py_compile.compile(filepath, destpath(filepath), path) +sys.stdout.write('\n')" "$@" || exit $? -# this will fail for python < 1.5, but that doesn't matter ... +# Then byte compile w/optimization all the modules. $PYTHON -O -c " -import sys, os, py_compile, $import_lib - -# pypy does not use .pyo optimization -if hasattr(sys, 'pypy_translation_info'): +import sys, os, py_compile + +try: + import importlib +except ImportError: + importlib = None + +# importlib.util.cache_from_source was added in 3.4 +if ( + hasattr(importlib, 'util') + and hasattr(importlib.util, 'cache_from_source') +): + destpath = importlib.util.cache_from_source +else: + destpath = lambda filepath: filepath + 'o' + +# pypy2 does not use .pyo optimization +if sys.version_info.major <= 2 and hasattr(sys, 'pypy_translation_info'): sys.exit(0) -files = '''$files''' sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') -for file in files.split(): +for file in sys.argv[1:]: + $pathtrans + $filetrans + if ( + not os.path.exists(filepath) + or not (len(filepath) >= 3 and filepath[-3:] == '.py') + ): + continue + sys.stdout.write(file + ' ') + sys.stdout.flush() + py_compile.compile(filepath, destpath(filepath), path) +sys.stdout.write('\n')" "$@" 2>/dev/null || exit $? + +# Then byte compile w/more optimization. +# Only do this for Python 3.5+, see https://bugs.gnu.org/38043 for background. +case $python_major.$python_minor in +2.*|3.[0-4]) + ;; +*) + $PYTHON -OO -c " +import sys, os, py_compile, importlib + +sys.stdout.write('Byte-compiling python modules (more optimized versions)' + ' ...\n') +for file in sys.argv[1:]: $pathtrans $filetrans - if not os.path.exists(filepath) or not (len(filepath) >= 3 - and filepath[-3:] == '.py'): - continue - sys.stdout.write(file) + if ( + not os.path.exists(filepath) + or not (len(filepath) >= 3 and filepath[-3:] == '.py') + ): + continue + sys.stdout.write(file + ' ') sys.stdout.flush() - if $import_test: - py_compile.compile(filepath, $import_call(filepath$import_arg2), path) - else: - py_compile.compile(filepath, filepath + 'o', path) -sys.stdout.write('\n')" 2>/dev/null || exit $? + py_compile.compile(filepath, importlib.util.cache_from_source(filepath), path) +sys.stdout.write('\n')" "$@" 2>/dev/null || exit $? + ;; +esac # Local Variables: # mode: shell-script diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 6e2086f5d..b611f3d59 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,6 +1,7 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.16.5 +export AUTOMAKE_SUFFIX=-1.16j +#export AUTOMAKE_SUFFIX=-1.16.5 export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.4.7 From 04a4970c44f4ec2cd9b6ff9ed33c99bb054c403b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 Dec 2023 21:29:55 +0100 Subject: [PATCH 260/353] Mark tstring_hash operators noexcept. --- include/log4cplus/tstring.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/log4cplus/tstring.h b/include/log4cplus/tstring.h index 68ed3e41a..8e435a4a9 100644 --- a/include/log4cplus/tstring.h +++ b/include/log4cplus/tstring.h @@ -50,19 +50,19 @@ struct tstring_hash using is_transparent = void; std::size_t - operator () (tchar const * str) const + operator () (tchar const * str) const noexcept { return std::hash{} (str); } std::size_t - operator () (tstring_view str) const + operator () (tstring_view str) const noexcept { return std::hash{} (str); } std::size_t - operator () (tstring const & str) const + operator () (tstring const & str) const noexcept { return std::hash{} (str); } From 64b3cafa91ff0f76404b3f2436725f8f6cda32a6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 Dec 2023 22:20:09 +0100 Subject: [PATCH 261/353] Fix warnings. --- src/filter.cxx | 2 +- src/snprintf.cxx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/filter.cxx b/src/filter.cxx index 052d6dea6..fae02add5 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -487,7 +487,7 @@ CATCH_TEST_CASE ("Filter", "[filter]") CATCH_SECTION ("function filter") { filter = new FunctionFilter ( - [](InternalLoggingEvent const & ev) -> FilterResult { + [](InternalLoggingEvent const & ev) noexcept -> FilterResult { return ev.getLogLevel () >= INFO_LOG_LEVEL ? ACCEPT : DENY; }); CATCH_REQUIRE (filter->decide (info_ev) == ACCEPT); diff --git a/src/snprintf.cxx b/src/snprintf.cxx index e8b7cb021..3cc2cbf60 100644 --- a/src/snprintf.cxx +++ b/src/snprintf.cxx @@ -49,6 +49,7 @@ namespace log4cplus::helpers { std::size_t const START_BUF_SIZE = 512; +[[maybe_unused]] #if defined (_WIN32) char const NULL_FILE[] = "NUL"; #else From 98e827a070ea28331f57c2c7874969485816c455 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 29 Dec 2023 23:13:49 +0100 Subject: [PATCH 262/353] Use C++ concepts a little. --- include/log4cplus/helpers/stringhelper.h | 20 ++++++++++++-------- src/stringhelper.cxx | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/include/log4cplus/helpers/stringhelper.h b/include/log4cplus/helpers/stringhelper.h index deb83c183..15cbcda53 100644 --- a/include/log4cplus/helpers/stringhelper.h +++ b/include/log4cplus/helpers/stringhelper.h @@ -66,7 +66,8 @@ namespace log4cplus { * tokenize(s, '.', back_insert_iterator >(tokens)); * */ - template + template + requires std::output_iterator inline void tokenize(const StringType& s, typename StringType::value_type c, @@ -95,11 +96,11 @@ namespace log4cplus { } - template + template struct ConvertIntegerToStringHelper; - template + template struct ConvertIntegerToStringHelper { static inline @@ -128,7 +129,7 @@ namespace log4cplus { value = -value; } - static + static constexpr bool is_negative (intType val) { @@ -147,7 +148,7 @@ namespace log4cplus { // This will never be called for unsigned types. } - static + static constexpr bool is_negative (intType) { @@ -156,7 +157,7 @@ namespace log4cplus { }; - template + template inline void convertIntegerToString (stringType & str, intType value) @@ -203,7 +204,7 @@ namespace log4cplus { } - template + template inline tstring convertIntegerToString (intType value) @@ -214,7 +215,7 @@ namespace log4cplus { } - template + template inline std::string convertIntegerToNarrowString (intType value) @@ -227,6 +228,7 @@ namespace log4cplus { //! Join a list of items into a string. template + requires std::forward_iterator inline void join_worker (tstring & result, Iterator & start, Iterator & last, @@ -244,6 +246,7 @@ namespace log4cplus { //! Join a list of items into a string. template + requires std::forward_iterator inline void join (tstring & result, Iterator start, Iterator last, @@ -254,6 +257,7 @@ namespace log4cplus { //! Join a list of items into a string. template + requires std::forward_iterator inline void join (tstring & result, Iterator start, Iterator last, diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 5077e43d7..2277fff07 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -245,7 +245,7 @@ toLower(const tstring_view& s) namespace { -template +template struct test { using limits = std::numeric_limits; From 361909a1df1acfb022e45f29f9f39ca578819871 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 30 Dec 2023 20:04:37 +0100 Subject: [PATCH 263/353] Use std::this_thread::yield(). --- src/threads.cxx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/threads.cxx b/src/threads.cxx index 47ab6e927..7e11f3e1e 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -88,12 +88,7 @@ LOG4CPLUS_EXPORT void yield() { -#if defined(LOG4CPLUS_USE_PTHREADS) - sched_yield(); -#elif defined(_WIN32) - if (! SwitchToThread ()) - Sleep (0); -#endif + std::this_thread::yield(); } #if defined(LOG4CPLUS_SINGLE_THREADED) From cba7a7c901f7a6d529a624d1a836aa2c71f48169 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 30 Dec 2023 23:16:34 +0100 Subject: [PATCH 264/353] Remove debug output from test. --- src/mdc.cxx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mdc.cxx b/src/mdc.cxx index 39ee51784..55e5b8be8 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -175,7 +175,7 @@ void MDC::pop (tstring const & key) { MappedDiagnosticContext & mdc = *getPtr (); - +f MappedDiagnosticContextMap & mdc_map = mdc.context_map; MappedDiagnosticContextStacksMap & stacks_map = mdc.stacks_map; auto it = stacks_map.find (key); @@ -350,7 +350,6 @@ CATCH_TEST_CASE ("MDC", "[MDC]") CATCH_SECTION ("MDCGuard") { - tcerr << LOG4CPLUS_TEXT ("MDCGuard\n"); { mdc.clear (); CATCH_REQUIRE (stacks_map.empty ()); From 6b9b511ea35603ced434182add504a0b92c69fec Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 30 Dec 2023 23:20:58 +0100 Subject: [PATCH 265/353] Two more tweaks. Constexpr and missing concept. --- include/log4cplus/helpers/stringhelper.h | 2 +- src/mdc.cxx | 2 +- src/property.cxx | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/log4cplus/helpers/stringhelper.h b/include/log4cplus/helpers/stringhelper.h index 15cbcda53..66059d4a8 100644 --- a/include/log4cplus/helpers/stringhelper.h +++ b/include/log4cplus/helpers/stringhelper.h @@ -138,7 +138,7 @@ namespace log4cplus { }; - template + template struct ConvertIntegerToStringHelper { static inline diff --git a/src/mdc.cxx b/src/mdc.cxx index 55e5b8be8..fc4336d6c 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -175,7 +175,7 @@ void MDC::pop (tstring const & key) { MappedDiagnosticContext & mdc = *getPtr (); -f + MappedDiagnosticContextMap & mdc_map = mdc.context_map; MappedDiagnosticContextStacksMap & stacks_map = mdc.stacks_map; auto it = stacks_map.find (key); diff --git a/src/property.cxx b/src/property.cxx index 08c6cf2a3..30ea7670c 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -225,10 +225,10 @@ substVars (tstring & dest, const tstring & val, helpers::Properties const & props, helpers::LogLog& loglog, unsigned flags) { - static tchar const DELIM_START[] = LOG4CPLUS_TEXT("${"); - static tchar const DELIM_STOP[] = LOG4CPLUS_TEXT("}"); - static std::size_t const DELIM_START_LEN = 2; - static std::size_t const DELIM_STOP_LEN = 1; + tchar constexpr DELIM_START[] = LOG4CPLUS_TEXT("${"); + tchar constexpr DELIM_STOP[] = LOG4CPLUS_TEXT("}"); + std::size_t constexpr DELIM_START_LEN = 2; + std::size_t constexpr DELIM_STOP_LEN = 1; tstring::size_type i = 0; tstring::size_type var_start, var_end; From 5b9440fad2bf4db0caf139c85921f520add88949 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 30 Dec 2023 23:54:21 +0100 Subject: [PATCH 266/353] Add concept requirements to variadic Socket::write(). --- include/log4cplus/helpers/socket.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/helpers/socket.h b/include/log4cplus/helpers/socket.h index 933e8d206..323adbebc 100644 --- a/include/log4cplus/helpers/socket.h +++ b/include/log4cplus/helpers/socket.h @@ -102,11 +102,13 @@ namespace log4cplus { SocketBuffer const * const * buffers); template + requires (sizeof... (Args) == 0 + || (std::is_same_v, SocketBuffer> && ...)) static bool write(Socket & socket, Args &&... args) { SocketBuffer const * const buffers[sizeof... (args)] { (&args)... }; - return socket.write (sizeof... (args), buffers); + return socket.write (sizeof... (Args), buffers); } }; From 7a766331a43410e7b6548021ead143fa480ce7bd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 31 Dec 2023 12:50:57 +0100 Subject: [PATCH 267/353] Add minimal test for DeviceAppender. Fix omission: DeviceAppender does not call destructorImpl(). Modernize. --- include/log4cplus/boost/deviceappender.hxx | 106 +++++++++++++++------ tests/unit_tests/CMakeLists.txt | 18 +++- tests/unit_tests/boost_tests.cxx | 83 ++++++++++++++++ 3 files changed, 176 insertions(+), 31 deletions(-) create mode 100644 tests/unit_tests/boost_tests.cxx diff --git a/include/log4cplus/boost/deviceappender.hxx b/include/log4cplus/boost/deviceappender.hxx index eb41edf88..d6287b991 100644 --- a/include/log4cplus/boost/deviceappender.hxx +++ b/include/log4cplus/boost/deviceappender.hxx @@ -30,12 +30,11 @@ #pragma once #endif -#include -#include -#include +#include #include #include #include +#include namespace log4cplus @@ -51,7 +50,7 @@ struct device_type_traits { typedef T & device_type; - static + static inline device_type unwrap (device_type x) { @@ -65,7 +64,21 @@ struct device_type_traits > { typedef boost::shared_ptr device_type; - static + static inline + T & + unwrap (device_type const & ptr) + { + return *ptr; + } +}; + + +template +struct device_type_traits > +{ + typedef std::shared_ptr device_type; + + static inline T & unwrap (device_type const & ptr) { @@ -77,6 +90,12 @@ struct device_type_traits > } // namespace device_appender_detail +/** + * @brief This appender wraps Boost IOStreams' Device concept instance + * as underlying sink for the appender. + * + * @tparam Device Boost IOStreams' Device concept instance + */ template class DeviceAppender : public Appender @@ -97,15 +116,19 @@ public: , close_flag (close_device) { } + template + DeviceAppender (std::shared_ptr const & d, bool close_device = true) + : device (d) + , close_flag (close_device) + { } + template DeviceAppender (D & d, const helpers::Properties & props) : Appender (props) , device (d) + , close_flag (true) { - if (props.exists (LOG4CPLUS_TEXT ("CloseDevice"))) - close_flag = true; - else - close_flag = false; + props.getBool (close_flag, LOG4CPLUS_TEXT ("CloseDevice")); } template @@ -113,20 +136,33 @@ public: const helpers::Properties & props) : Appender (props) , device (d) + , close_flag (true) + { + props.getBool (close_flag, LOG4CPLUS_TEXT ("CloseDevice")); + } + + template + DeviceAppender (std::shared_ptr const & d, + const helpers::Properties & props) + : Appender (props) + , device (d) + , close_flag (true) { - if (props.exists (LOG4CPLUS_TEXT ("CloseDevice"))) - close_flag = true; - else - close_flag = false; + props.getBool (close_flag, LOG4CPLUS_TEXT ("CloseDevice")); } + DeviceAppender (DeviceAppender const &) = delete; + DeviceAppender & operator = (DeviceAppender const &) = delete; + virtual ~DeviceAppender () - { } + { + destructorImpl (); + } virtual void - close () + close () override { if (close_flag) boost::iostreams::close (device_traits::unwrap (device)); @@ -135,7 +171,7 @@ public: protected: virtual void - append (log4cplus::spi::InternalLoggingEvent const & event) + append (log4cplus::spi::InternalLoggingEvent const & event) override { tstring & str = formatEvent (event); boost::iostreams::write (device_traits::unwrap (device), @@ -144,10 +180,6 @@ protected: device_type device; bool close_flag; - -private: - DeviceAppender (DeviceAppender const &); - DeviceAppender & operator = (DeviceAppender const &); }; @@ -156,8 +188,7 @@ inline SharedAppenderPtr make_device_appender (T & d, bool close_device = true) { - SharedAppenderPtr app (new DeviceAppender (d, close_device)); - return app; + return SharedAppenderPtr (new DeviceAppender (d, close_device)); } @@ -166,8 +197,7 @@ inline SharedAppenderPtr make_device_appender (T & d, const helpers::Properties & props) { - SharedAppenderPtr app (new DeviceAppender (d, props)); - return app; + return SharedAppenderPtr (new DeviceAppender (d, props)); } @@ -177,9 +207,8 @@ SharedAppenderPtr make_device_appender_sp (boost::shared_ptr const & p, bool close_device = true) { - SharedAppenderPtr app ( + return SharedAppenderPtr ( new DeviceAppender > (p, close_device)); - return app; } @@ -189,9 +218,30 @@ SharedAppenderPtr make_device_appender_sp (boost::shared_ptr const & p, const helpers::Properties & props) { - SharedAppenderPtr app ( + return SharedAppenderPtr ( new DeviceAppender > (p, props)); - return app; +} + + +template +inline +SharedAppenderPtr +make_device_appender_sp (std::shared_ptr const & p, + bool close_device = true) +{ + return SharedAppenderPtr ( + new DeviceAppender > (p, close_device)); +} + + +template +inline +SharedAppenderPtr +make_device_appender_sp (std::shared_ptr const & p, + const helpers::Properties & props) +{ + return SharedAppenderPtr ( + new DeviceAppender > (p, props)); } diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt index 01a3f6e07..e40cbddfb 100644 --- a/tests/unit_tests/CMakeLists.txt +++ b/tests/unit_tests/CMakeLists.txt @@ -1,5 +1,17 @@ -add_executable (unit_tests unit_tests.cxx) -target_link_libraries (unit_tests ${log4cplus}) -add_test(NAME unit_tests +set (unit_tests_sources unit_tests.cxx) +set (unit_tests_libs ${log4cplus}) + +find_package (Boost + COMPONENTS iostreams) +if (Boost_FOUND) + set (unit_tests_sources ${unit_tests_sources} + boost_tests.cxx) + set (unit_tests_libs ${unit_tests_libs} + Boost::iostreams) +endif (Boost_FOUND) + +add_executable (unit_tests ${unit_tests_sources}) +target_link_libraries (unit_tests PUBLIC ${unit_tests_libs}) +add_test (NAME unit_tests WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} COMMAND unit_tests) diff --git a/tests/unit_tests/boost_tests.cxx b/tests/unit_tests/boost_tests.cxx new file mode 100644 index 000000000..2740f18b6 --- /dev/null +++ b/tests/unit_tests/boost_tests.cxx @@ -0,0 +1,83 @@ +// Copyright (C) 2023, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include + +#include +#include +#include +#include + +#if defined (LOG4CPLUS_WITH_UNIT_TESTS) +#include + + +namespace log4cplus +{ + + +namespace io = boost::iostreams; + +CATCH_TEST_CASE ("DeviceAppender") +{ + std::unique_ptr layout {new SimpleLayout}; + + CATCH_SECTION ("direct") + { + tstring result; + auto device (io::back_inserter (result)); + auto appender = make_device_appender (device); + appender->setLayout (std::move (layout)); + appender->doAppend (spi::InternalLoggingEvent (LOG4CPLUS_TEXT ("logger"), + INFO_LOG_LEVEL, LOG4CPLUS_TEXT ("message"), __FILE__, __LINE__)); + CATCH_REQUIRE (result.starts_with (LOG4CPLUS_TEXT ("INFO - message"))); + } + + CATCH_SECTION ("boost::shared_ptr") + { + tstring result; + boost::shared_ptr> device { + new io::back_insert_device (result)}; + auto appender = make_device_appender (device); + appender->setLayout (std::move (layout)); + appender->doAppend (spi::InternalLoggingEvent (LOG4CPLUS_TEXT ("logger"), + INFO_LOG_LEVEL, LOG4CPLUS_TEXT ("message"), __FILE__, __LINE__)); + CATCH_REQUIRE (result.starts_with (LOG4CPLUS_TEXT ("INFO - message"))); + } + + CATCH_SECTION ("std::shared_ptr") + { + tstring result; + std::shared_ptr> device { + new io::back_insert_device (result)}; + auto appender = make_device_appender (device); + appender->setLayout (std::move (layout)); + appender->doAppend (spi::InternalLoggingEvent (LOG4CPLUS_TEXT ("logger"), + INFO_LOG_LEVEL, LOG4CPLUS_TEXT ("message"), __FILE__, __LINE__)); + CATCH_REQUIRE (result.starts_with (LOG4CPLUS_TEXT ("INFO - message"))); + } +} + +} // namespace log4cplus + +#endif // defined (LOG4CPLUS_WITH_UNIT_TESTS) \ No newline at end of file From aa793479257de11b118e255ec8c2ccac7e476411 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 10 Feb 2024 13:04:06 +0100 Subject: [PATCH 268/353] Run test builds on Mac OS X 14 with XCode 15.2. --- .github/workflows/c-cpp.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 9ad6770c7..204456423 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,18 +16,16 @@ jobs: cxx: 'g++-13' prereq: | sudo apt install libstdc++-13-dev g++-13 gcc-13 - # Mac OS X is missing the header or - # some of its funtions. - #- os: 'macos-13' - # cc: 'clang' - # cxx: 'clang++' - # prereq: | - # sudo xcode-select -s '/Applications/Xcode_15.1.app/Contents/Developer' + - os: 'macos-14' + cc: 'clang' + cxx: 'clang++' + prereq: | + sudo xcode-select -s '/Applications/Xcode_15.2.app/Contents/Developer' runs-on: ${{ matrix.config.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: install prerequisites From b12944f8c0eb3131ceb4275384ac6dee3b98455a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 10 Feb 2024 13:45:59 +0100 Subject: [PATCH 269/353] Mac OS X is still missing std::format. --- .github/workflows/c-cpp.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 204456423..0ef97148b 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,11 +16,11 @@ jobs: cxx: 'g++-13' prereq: | sudo apt install libstdc++-13-dev g++-13 gcc-13 - - os: 'macos-14' - cc: 'clang' - cxx: 'clang++' - prereq: | - sudo xcode-select -s '/Applications/Xcode_15.2.app/Contents/Developer' + #- os: 'macos-14' + # cc: 'clang' + # cxx: 'clang++' + # prereq: | + # sudo xcode-select -s '/Applications/Xcode_15.2.app/Contents/Developer' runs-on: ${{ matrix.config.os }} From cf5b69eb15c60d0efafed749c85b67c66aec15a3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 11 Feb 2024 12:57:37 +0100 Subject: [PATCH 270/353] Update Catch to v2.13.10. --- catch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catch b/catch index 62fd66058..182c910b4 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit 62fd660583d3ae7a7886930b413c3c570e89786c +Subproject commit 182c910b4b63ff587a3440e08f84f70497e49a81 From b63a21595ebdb6065970f853866c4b495507171d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 24 May 2024 09:02:43 +0200 Subject: [PATCH 271/353] Modify .gitattributes to ensure proper EOLs. Update .gitignore. --- .gitattributes | 8 ++++++++ .gitignore | 1 + 2 files changed, 9 insertions(+) diff --git a/.gitattributes b/.gitattributes index 7f4d57111..a97028472 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,14 @@ ############################################################################### * text=auto +*.cxx eol=lf +*.cpp eol=lf +*.c eol=lf +*.h eol=lf +*.hxx eol=lf +*.sh eol=lf + + ############################################################################### # Set default behavior for command prompt diff. # diff --git a/.gitignore b/.gitignore index 7629e9a93..56d9a29f5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ Win32/ x64/ build/ .vscode/ +.vs/ docs/log4cplus-*/ docs/webpage_docs-*/ From 18574a0f9017c1177330ef2977c7e67e802cfe6e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 24 May 2024 09:05:10 +0200 Subject: [PATCH 272/353] Add missing source files to MSVC project. --- msvc14/log4cplus.vcxproj | 2 ++ msvc14/log4cplus.vcxproj.filters | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/msvc14/log4cplus.vcxproj b/msvc14/log4cplus.vcxproj index bdac9a86f..f9b980a2e 100644 --- a/msvc14/log4cplus.vcxproj +++ b/msvc14/log4cplus.vcxproj @@ -416,6 +416,7 @@ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories) @@ -973,6 +974,7 @@ + diff --git a/msvc14/log4cplus.vcxproj.filters b/msvc14/log4cplus.vcxproj.filters index 4d29df81f..3570b5614 100644 --- a/msvc14/log4cplus.vcxproj.filters +++ b/msvc14/log4cplus.vcxproj.filters @@ -190,6 +190,9 @@ Appenders + + Source Files + @@ -393,6 +396,9 @@ Appenders + + Source Files + From e22fbeb564f5d3c80951f92a15837f96b24581f4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 24 May 2024 10:37:09 +0200 Subject: [PATCH 273/353] Fix compilation issues in CLFS and MSTTS appenders. --- src/clfsappender.cxx | 9 +++------ src/msttsappender.cxx | 6 ++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/clfsappender.cxx b/src/clfsappender.cxx index d7a0d7a51..e904f1219 100644 --- a/src/clfsappender.cxx +++ b/src/clfsappender.cxx @@ -69,15 +69,12 @@ loglog_win32_error (tchar const * msg) struct CLFSAppender::Data { - Data () - : log_handle (INVALID_HANDLE_VALUE) - , buffer_size (0) - = default; + Data () = default; tstring log_name; - HANDLE log_handle; + HANDLE log_handle{INVALID_HANDLE_VALUE}; void * buffer{nullptr}; - ULONG buffer_size; + ULONG buffer_size{0}; }; diff --git a/src/msttsappender.cxx b/src/msttsappender.cxx index 77231c546..31ff3f3f9 100644 --- a/src/msttsappender.cxx +++ b/src/msttsappender.cxx @@ -174,9 +174,7 @@ class SpeechObjectThread struct MSTTSAppender::Data { - Data () - : ispvoice (0) - = default; + Data () = default; ~Data () { @@ -185,7 +183,7 @@ struct MSTTSAppender::Data } helpers::SharedObjectPtr speech_thread; - ISpVoice * ispvoice; + ISpVoice * ispvoice{nullptr}; bool async{false}; bool speak_punc{false}; }; From 4611e10d671b657253883dd452f7645dd0410e20 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 24 May 2024 10:53:44 +0200 Subject: [PATCH 274/353] Update MSVC projects. Fix compilation issues. Target Windows 10. --- msvc14/CLFSAppender.props | 2 + msvc14/CLFSAppender.vcxproj | 17 ++++---- msvc14/MSTTSAppender.props | 2 + msvc14/MSTTSAppender.vcxproj | 27 ++++++++---- msvc14/Qt4DebugAppender.props | 2 + msvc14/Qt4DebugAppender.vcxproj | 17 ++++---- msvc14/Qt5DebugAppender.props | 2 + msvc14/Qt5DebugAppender.vcxproj | 17 ++++---- msvc14/log4cplus.props | 2 + msvc14/log4cplus.vcxproj | 17 ++++---- msvc14/log4cplusS.vcxproj | 19 +++++---- msvc14/log4cplusS.vcxproj.filters | 6 +++ msvc14/loggingserver.props | 2 + msvc14/loggingserver.vcxproj | 21 ++++------ msvc14/tests/appender_test.vcxproj | 21 ++++------ msvc14/tests/appender_testS.vcxproj | 21 ++++------ msvc14/tests/configandwatch_test.vcxproj | 21 ++++------ msvc14/tests/configandwatch_testS.vcxproj | 21 ++++------ msvc14/tests/customloglevel_test.vcxproj | 42 ++++++------------- .../tests/customloglevel_test.vcxproj.filters | 8 ++-- msvc14/tests/customloglevel_testS.vcxproj | 42 ++++++------------- .../customloglevel_testS.vcxproj.filters | 8 ++-- msvc14/tests/fileappender_test.vcxproj | 21 ++++------ msvc14/tests/fileappender_testS.vcxproj | 21 ++++------ msvc14/tests/filter_test.vcxproj | 21 ++++------ msvc14/tests/filter_testS.vcxproj | 21 ++++------ msvc14/tests/hierarchy_test.vcxproj | 21 ++++------ msvc14/tests/hierarchy_testS.vcxproj | 21 ++++------ msvc14/tests/log4cplus_tests.props | 2 + msvc14/tests/loglog_test.vcxproj | 21 ++++------ msvc14/tests/loglog_testS.vcxproj | 21 ++++------ msvc14/tests/ndc_test.vcxproj | 21 ++++------ msvc14/tests/ndc_testS.vcxproj | 21 ++++------ msvc14/tests/ostream_test.vcxproj | 21 ++++------ msvc14/tests/ostream_testS.vcxproj | 21 ++++------ msvc14/tests/patternlayout_test.vcxproj | 21 ++++------ msvc14/tests/patternlayout_testS.vcxproj | 21 ++++------ msvc14/tests/performance_test.vcxproj | 21 ++++------ msvc14/tests/performance_testS.vcxproj | 21 ++++------ msvc14/tests/priority_test.vcxproj | 21 ++++------ msvc14/tests/priority_testS.vcxproj | 21 ++++------ msvc14/tests/propertyconfig_test.vcxproj | 21 ++++------ msvc14/tests/propertyconfig_testS.vcxproj | 21 ++++------ msvc14/tests/socket_test.vcxproj | 21 ++++------ msvc14/tests/socket_testS.vcxproj | 21 ++++------ msvc14/tests/thread_test.vcxproj | 21 ++++------ msvc14/tests/thread_testS.vcxproj | 21 ++++------ msvc14/tests/timeformat_test.vcxproj | 21 ++++------ msvc14/tests/timeformat_testS.vcxproj | 21 ++++------ msvc14/tests/unit_tests.vcxproj | 21 ++++------ msvc14/tests/unit_testsS.vcxproj | 21 ++++------ 51 files changed, 417 insertions(+), 510 deletions(-) diff --git a/msvc14/CLFSAppender.props b/msvc14/CLFSAppender.props index 44888389e..c3bfb4253 100644 --- a/msvc14/CLFSAppender.props +++ b/msvc14/CLFSAppender.props @@ -12,6 +12,8 @@ INSIDE_LOG4CPLUS_CLFSAPPENDER;LOG4CPLUS_CLFSAPPENDER_BUILD_DLL;LOG4CPLUS_BUILD_DLL;%(PreprocessorDefinitions) $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);%(AdditionalLibraryDirectories) diff --git a/msvc14/CLFSAppender.vcxproj b/msvc14/CLFSAppender.vcxproj index 31d7affe0..a6918a737 100644 --- a/msvc14/CLFSAppender.vcxproj +++ b/msvc14/CLFSAppender.vcxproj @@ -37,6 +37,7 @@ {C0C6F651-99D8-404E-B2EC-507B261E820C} CLFSAppender + 10.0 @@ -44,52 +45,52 @@ false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 DynamicLibrary false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 diff --git a/msvc14/MSTTSAppender.props b/msvc14/MSTTSAppender.props index d0966d80c..1bb25199e 100644 --- a/msvc14/MSTTSAppender.props +++ b/msvc14/MSTTSAppender.props @@ -12,6 +12,8 @@ INSIDE_LOG4CPLUS_MSTTSAPPENDER;LOG4CPLUS_MSTTSAPPENDER_BUILD_DLL;LOG4CPLUS_BUILD_DLL;%(PreprocessorDefinitions) $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);%(AdditionalLibraryDirectories) diff --git a/msvc14/MSTTSAppender.vcxproj b/msvc14/MSTTSAppender.vcxproj index 2bc02ed32..95e440719 100644 --- a/msvc14/MSTTSAppender.vcxproj +++ b/msvc14/MSTTSAppender.vcxproj @@ -37,6 +37,7 @@ {7C361308-3FC8-45AF-9362-1A7C75E7F277} MSTTSAppender + 10.0 @@ -44,52 +45,52 @@ false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 DynamicLibrary false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 @@ -135,6 +136,16 @@ + + + stdcpp20 + + + + + stdc17 + + Designer diff --git a/msvc14/Qt4DebugAppender.props b/msvc14/Qt4DebugAppender.props index b6176eb93..fca90cca2 100644 --- a/msvc14/Qt4DebugAppender.props +++ b/msvc14/Qt4DebugAppender.props @@ -12,6 +12,8 @@ INSIDE_LOG4CPLUS_QT4DEBUGAPPENDER;LOG4CPLUS_QT4DEBUGAPPENDER_BUILD_DLL;LOG4CPLUS_BUILD_DLL;QT_SHARED;QT_THREAD_SUPPORT;%(PreprocessorDefinitions) $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);C:\QtSDK\Desktop\Qt\4.8.1\msvc2010\lib;%(AdditionalLibraryDirectories) diff --git a/msvc14/Qt4DebugAppender.vcxproj b/msvc14/Qt4DebugAppender.vcxproj index 52e42e5fa..f2d74e278 100644 --- a/msvc14/Qt4DebugAppender.vcxproj +++ b/msvc14/Qt4DebugAppender.vcxproj @@ -37,6 +37,7 @@ {18B64AA1-A2F7-46BE-8D48-7882AA471FA9} Qt4DebugAppender + 10.0 @@ -44,52 +45,52 @@ false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 DynamicLibrary false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 diff --git a/msvc14/Qt5DebugAppender.props b/msvc14/Qt5DebugAppender.props index 69e7c7e9a..fadcfb094 100755 --- a/msvc14/Qt5DebugAppender.props +++ b/msvc14/Qt5DebugAppender.props @@ -12,6 +12,8 @@ INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER;LOG4CPLUS_QT5DEBUGAPPENDER_BUILD_DLL;LOG4CPLUS_BUILD_DLL;QT_SHARED;QT_THREAD_SUPPORT;%(PreprocessorDefinitions) $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);C:\Qt\Qt5.0.2\5.0.2\msvc2010\lib;%(AdditionalLibraryDirectories) diff --git a/msvc14/Qt5DebugAppender.vcxproj b/msvc14/Qt5DebugAppender.vcxproj index 3a7e4228e..620ebb712 100755 --- a/msvc14/Qt5DebugAppender.vcxproj +++ b/msvc14/Qt5DebugAppender.vcxproj @@ -37,6 +37,7 @@ {0F01EBDC-F988-41DD-BDA8-247DBC870F6B} Qt5DebugAppender + 10.0 @@ -44,52 +45,52 @@ false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 DynamicLibrary false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 diff --git a/msvc14/log4cplus.props b/msvc14/log4cplus.props index ce79683ef..64633d344 100644 --- a/msvc14/log4cplus.props +++ b/msvc14/log4cplus.props @@ -22,6 +22,8 @@ true /bigobj %(AdditionalOptions) true + stdcpp20 + stdc17
true diff --git a/msvc14/log4cplus.vcxproj b/msvc14/log4cplus.vcxproj index f9b980a2e..bde124c81 100644 --- a/msvc14/log4cplus.vcxproj +++ b/msvc14/log4cplus.vcxproj @@ -37,6 +37,7 @@ {917836A4-0DDC-47BE-B930-1B3BFDF6C940} log4cplus + 10.0 @@ -44,52 +45,52 @@ false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 DynamicLibrary false Unicode true - v140 + v143 DynamicLibrary false Unicode - v140 + v143 DynamicLibrary false MultiByte - v140 + v143 DynamicLibrary false MultiByte true - v140 + v143 diff --git a/msvc14/log4cplusS.vcxproj b/msvc14/log4cplusS.vcxproj index ce7861789..0444dba55 100644 --- a/msvc14/log4cplusS.vcxproj +++ b/msvc14/log4cplusS.vcxproj @@ -37,55 +37,56 @@ {BEC0CD2F-60CD-40E2-A89B-AB10E902F1D5} log4cplusS + 10.0 StaticLibrary false Unicode - v140 + v143 StaticLibrary false MultiByte - v140 + v143 StaticLibrary false Unicode - v140 + v143 StaticLibrary false MultiByte - v140 + v143 StaticLibrary false Unicode - v140 + v143 StaticLibrary false MultiByte - v140 + v143 StaticLibrary false Unicode - v140 + v143 StaticLibrary false MultiByte - v140 + v143 @@ -352,6 +353,7 @@ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories) @@ -909,6 +911,7 @@ + diff --git a/msvc14/log4cplusS.vcxproj.filters b/msvc14/log4cplusS.vcxproj.filters index 662e544b7..c86054663 100644 --- a/msvc14/log4cplusS.vcxproj.filters +++ b/msvc14/log4cplusS.vcxproj.filters @@ -190,6 +190,9 @@ Appenders + + Source Files + @@ -393,6 +396,9 @@ Appenders + + Source Files + diff --git a/msvc14/loggingserver.props b/msvc14/loggingserver.props index cf72fd08e..82bd17256 100644 --- a/msvc14/loggingserver.props +++ b/msvc14/loggingserver.props @@ -11,6 +11,8 @@ LOG4CPLUS_BUILD_DLL;%(PreprocessorDefinitions) $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);%(AdditionalLibraryDirectories) diff --git a/msvc14/loggingserver.vcxproj b/msvc14/loggingserver.vcxproj index 455813c68..b85692500 100644 --- a/msvc14/loggingserver.vcxproj +++ b/msvc14/loggingserver.vcxproj @@ -37,57 +37,58 @@ {B8E88AF6-0427-4839-88AC-0C6E12615B10} loggingserver + 10.0 Application false Unicode - v140 + v143 Application false Unicode true - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode - v140 + v143 Application false Unicode true - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -241,7 +242,6 @@ Disabled %(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)loggingserver.pch @@ -278,7 +278,6 @@ Disabled %(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)loggingserver.pch @@ -385,7 +384,6 @@ Disabled %(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)loggingserver.pch @@ -422,7 +420,6 @@ Disabled %(AdditionalIncludeDirectories) _DEBUG;WIN32;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)loggingserver.pch diff --git a/msvc14/tests/appender_test.vcxproj b/msvc14/tests/appender_test.vcxproj index 6fbc4f097..6410e3fa9 100644 --- a/msvc14/tests/appender_test.vcxproj +++ b/msvc14/tests/appender_test.vcxproj @@ -37,6 +37,7 @@ {63AF3784-3FFB-46AC-B341-76B55AEE3148} appender_test + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -247,7 +248,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -283,7 +283,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -318,7 +317,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -354,7 +352,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/appender_testS.vcxproj b/msvc14/tests/appender_testS.vcxproj index fb3168bfa..81d9d74f8 100644 --- a/msvc14/tests/appender_testS.vcxproj +++ b/msvc14/tests/appender_testS.vcxproj @@ -37,6 +37,7 @@ {87AA80A2-624C-420A-BBA7-4A68AB894AB3} appender_testS + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -247,7 +248,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -283,7 +283,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -318,7 +317,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -354,7 +352,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/configandwatch_test.vcxproj b/msvc14/tests/configandwatch_test.vcxproj index 105386f40..88ecaaf36 100644 --- a/msvc14/tests/configandwatch_test.vcxproj +++ b/msvc14/tests/configandwatch_test.vcxproj @@ -36,6 +36,7 @@ {0A878274-362D-4184-B5C6-A1C80D22A170} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/configandwatch_testS.vcxproj b/msvc14/tests/configandwatch_testS.vcxproj index db4fcc32c..e792251c9 100644 --- a/msvc14/tests/configandwatch_testS.vcxproj +++ b/msvc14/tests/configandwatch_testS.vcxproj @@ -36,6 +36,7 @@ {1A39C4C2-0160-42C4-8E81-4D5AAE1A3412} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/customloglevel_test.vcxproj b/msvc14/tests/customloglevel_test.vcxproj index d70fa9fe5..93fd66a00 100644 --- a/msvc14/tests/customloglevel_test.vcxproj +++ b/msvc14/tests/customloglevel_test.vcxproj @@ -36,6 +36,7 @@ {040B829F-8ED6-4D35-9043-0DF31597F7FB} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -448,24 +445,6 @@
- - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) @@ -509,6 +488,9 @@ false + + + diff --git a/msvc14/tests/customloglevel_test.vcxproj.filters b/msvc14/tests/customloglevel_test.vcxproj.filters index 04fe5a15a..05bd38776 100644 --- a/msvc14/tests/customloglevel_test.vcxproj.filters +++ b/msvc14/tests/customloglevel_test.vcxproj.filters @@ -7,9 +7,6 @@ - - Source Files - Source Files @@ -17,4 +14,9 @@ Source Files
+ + + Source Files + + \ No newline at end of file diff --git a/msvc14/tests/customloglevel_testS.vcxproj b/msvc14/tests/customloglevel_testS.vcxproj index c85b40a98..4a537b6a1 100644 --- a/msvc14/tests/customloglevel_testS.vcxproj +++ b/msvc14/tests/customloglevel_testS.vcxproj @@ -36,6 +36,7 @@ {E64A222C-7489-44F6-88E0-EC95D9B61F6B} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -448,24 +445,6 @@
- - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) @@ -508,6 +487,9 @@ {bec0cd2f-60cd-40e2-a89b-ab10e902f1d5} + + + diff --git a/msvc14/tests/customloglevel_testS.vcxproj.filters b/msvc14/tests/customloglevel_testS.vcxproj.filters index 04fe5a15a..05bd38776 100644 --- a/msvc14/tests/customloglevel_testS.vcxproj.filters +++ b/msvc14/tests/customloglevel_testS.vcxproj.filters @@ -7,9 +7,6 @@ - - Source Files - Source Files @@ -17,4 +14,9 @@ Source Files
+ + + Source Files + + \ No newline at end of file diff --git a/msvc14/tests/fileappender_test.vcxproj b/msvc14/tests/fileappender_test.vcxproj index 098ed5397..91cdece7d 100644 --- a/msvc14/tests/fileappender_test.vcxproj +++ b/msvc14/tests/fileappender_test.vcxproj @@ -36,6 +36,7 @@ {434FBB6C-6D3C-466A-86DB-DE999065B5E5} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/fileappender_testS.vcxproj b/msvc14/tests/fileappender_testS.vcxproj index 0cbb88ac8..dfc0cf30b 100644 --- a/msvc14/tests/fileappender_testS.vcxproj +++ b/msvc14/tests/fileappender_testS.vcxproj @@ -36,6 +36,7 @@ {07819E3A-C60E-4FA6-9EB6-820EAA21F327} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/filter_test.vcxproj b/msvc14/tests/filter_test.vcxproj index 4d2a1f50e..2b66cd2cc 100644 --- a/msvc14/tests/filter_test.vcxproj +++ b/msvc14/tests/filter_test.vcxproj @@ -37,6 +37,7 @@ {66FE475D-D26C-4457-8B1C-B057D770C716} filter_test + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -178,7 +179,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -318,7 +317,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -354,7 +352,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/filter_testS.vcxproj b/msvc14/tests/filter_testS.vcxproj index 44257c0ee..753ed72f9 100644 --- a/msvc14/tests/filter_testS.vcxproj +++ b/msvc14/tests/filter_testS.vcxproj @@ -37,6 +37,7 @@ {4428C51A-6903-47E9-AECD-B2F2D4C040DE} filter_testS + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -178,7 +179,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -318,7 +317,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -354,7 +352,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/hierarchy_test.vcxproj b/msvc14/tests/hierarchy_test.vcxproj index 0459e26e7..8cab40368 100644 --- a/msvc14/tests/hierarchy_test.vcxproj +++ b/msvc14/tests/hierarchy_test.vcxproj @@ -36,6 +36,7 @@ {07817E6D-9FAB-4261-9D62-C5AD13810258} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/hierarchy_testS.vcxproj b/msvc14/tests/hierarchy_testS.vcxproj index e4393068d..a379d45bf 100644 --- a/msvc14/tests/hierarchy_testS.vcxproj +++ b/msvc14/tests/hierarchy_testS.vcxproj @@ -36,6 +36,7 @@ {A1F3A775-26C1-4842-A652-67FB66D94CFD} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/log4cplus_tests.props b/msvc14/tests/log4cplus_tests.props index 89bec0b36..c55679c80 100644 --- a/msvc14/tests/log4cplus_tests.props +++ b/msvc14/tests/log4cplus_tests.props @@ -11,6 +11,8 @@ ProgramDatabase $(OutDir)$(TargetName).pdb Level3 + stdcpp20 + stdc17 $(SolutionDir)$(Platform)\bin.$(Configuration);%(AdditionalLibraryDirectories) diff --git a/msvc14/tests/loglog_test.vcxproj b/msvc14/tests/loglog_test.vcxproj index b12c6e72f..3b297a096 100644 --- a/msvc14/tests/loglog_test.vcxproj +++ b/msvc14/tests/loglog_test.vcxproj @@ -36,6 +36,7 @@ {1F8CC79C-876D-4A13-BA92-98A3A51B2749} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/loglog_testS.vcxproj b/msvc14/tests/loglog_testS.vcxproj index 5b6bbccc4..46cad7ee8 100644 --- a/msvc14/tests/loglog_testS.vcxproj +++ b/msvc14/tests/loglog_testS.vcxproj @@ -36,6 +36,7 @@ {052E825A-8D84-46C6-A10E-D8F6EEECF441} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/ndc_test.vcxproj b/msvc14/tests/ndc_test.vcxproj index 7f7d884ce..cf5c8abc8 100644 --- a/msvc14/tests/ndc_test.vcxproj +++ b/msvc14/tests/ndc_test.vcxproj @@ -36,6 +36,7 @@ {FBCE50FB-C87B-4A28-9551-7D1BFDAA65EC} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/ndc_testS.vcxproj b/msvc14/tests/ndc_testS.vcxproj index e6ebc4e83..11d992a74 100644 --- a/msvc14/tests/ndc_testS.vcxproj +++ b/msvc14/tests/ndc_testS.vcxproj @@ -36,6 +36,7 @@ {7C1B81EB-9931-401E-897D-80FDB66EAD2D} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/ostream_test.vcxproj b/msvc14/tests/ostream_test.vcxproj index 208a6ae8c..52b6ad5f3 100644 --- a/msvc14/tests/ostream_test.vcxproj +++ b/msvc14/tests/ostream_test.vcxproj @@ -36,6 +36,7 @@ {C133DEF0-FAF5-4635-8D5A-2C789B424371} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/ostream_testS.vcxproj b/msvc14/tests/ostream_testS.vcxproj index a43e332c5..9f579eec7 100644 --- a/msvc14/tests/ostream_testS.vcxproj +++ b/msvc14/tests/ostream_testS.vcxproj @@ -36,6 +36,7 @@ {18791CDA-136A-49D1-84FE-69CD0A7F13A9} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/patternlayout_test.vcxproj b/msvc14/tests/patternlayout_test.vcxproj index a4cee170f..219651463 100644 --- a/msvc14/tests/patternlayout_test.vcxproj +++ b/msvc14/tests/patternlayout_test.vcxproj @@ -37,6 +37,7 @@ {AE4CF05D-9770-4BF2-BB73-1DA37E2A1508} patternlayout_test + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -249,7 +250,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -286,7 +286,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -322,7 +321,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -359,7 +357,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/patternlayout_testS.vcxproj b/msvc14/tests/patternlayout_testS.vcxproj index 3fe76f3e1..6aa733468 100644 --- a/msvc14/tests/patternlayout_testS.vcxproj +++ b/msvc14/tests/patternlayout_testS.vcxproj @@ -37,6 +37,7 @@ {EC65FE25-C6DB-42B6-B946-D00CC1AEFDD1} patternlayout_testS + 10.0 @@ -44,50 +45,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -249,7 +250,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -286,7 +286,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -322,7 +321,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -359,7 +357,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/performance_test.vcxproj b/msvc14/tests/performance_test.vcxproj index 1fb6c832f..b28e051d4 100644 --- a/msvc14/tests/performance_test.vcxproj +++ b/msvc14/tests/performance_test.vcxproj @@ -36,6 +36,7 @@ {94EF9EE0-6E68-4F5F-9174-D09896518894} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/performance_testS.vcxproj b/msvc14/tests/performance_testS.vcxproj index 21607e074..d0fbc84ea 100644 --- a/msvc14/tests/performance_testS.vcxproj +++ b/msvc14/tests/performance_testS.vcxproj @@ -36,6 +36,7 @@ {9B7E7FA5-F13B-440E-80DD-84C0CE676B3E} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/priority_test.vcxproj b/msvc14/tests/priority_test.vcxproj index 90a3f19eb..06631a05f 100644 --- a/msvc14/tests/priority_test.vcxproj +++ b/msvc14/tests/priority_test.vcxproj @@ -36,6 +36,7 @@ {CBD762A9-79BC-4AE7-8890-76360F539D76} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/priority_testS.vcxproj b/msvc14/tests/priority_testS.vcxproj index 3028a8956..7d9790bd5 100644 --- a/msvc14/tests/priority_testS.vcxproj +++ b/msvc14/tests/priority_testS.vcxproj @@ -36,6 +36,7 @@ {2C4FB823-F9AA-4022-8880-EA74ED6C162B} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/propertyconfig_test.vcxproj b/msvc14/tests/propertyconfig_test.vcxproj index ec5bf1dc1..06afb316d 100755 --- a/msvc14/tests/propertyconfig_test.vcxproj +++ b/msvc14/tests/propertyconfig_test.vcxproj @@ -36,6 +36,7 @@ {44D4D0A3-FAFA-4134-9806-BCB830594E28} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/propertyconfig_testS.vcxproj b/msvc14/tests/propertyconfig_testS.vcxproj index b3e3f49ea..7d24a8fd3 100644 --- a/msvc14/tests/propertyconfig_testS.vcxproj +++ b/msvc14/tests/propertyconfig_testS.vcxproj @@ -36,6 +36,7 @@ {F7E9D999-3497-4F46-8914-613883E97CE6} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/socket_test.vcxproj b/msvc14/tests/socket_test.vcxproj index f5988b64c..71a56942a 100644 --- a/msvc14/tests/socket_test.vcxproj +++ b/msvc14/tests/socket_test.vcxproj @@ -36,6 +36,7 @@ {D405C4A0-D62F-4EE7-96D2-76AD808C7319} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/socket_testS.vcxproj b/msvc14/tests/socket_testS.vcxproj index f8d5a4120..643a62758 100644 --- a/msvc14/tests/socket_testS.vcxproj +++ b/msvc14/tests/socket_testS.vcxproj @@ -36,6 +36,7 @@ {333F2272-D4D6-4F2A-A877-89384693B154} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -246,7 +247,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -282,7 +282,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/thread_test.vcxproj b/msvc14/tests/thread_test.vcxproj index b61fc043f..966710c8c 100644 --- a/msvc14/tests/thread_test.vcxproj +++ b/msvc14/tests/thread_test.vcxproj @@ -36,6 +36,7 @@ {F83D31E0-B607-4D3E-AF53-BA2A19BE17ED} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/thread_testS.vcxproj b/msvc14/tests/thread_testS.vcxproj index 3878a5c08..1768f28a5 100644 --- a/msvc14/tests/thread_testS.vcxproj +++ b/msvc14/tests/thread_testS.vcxproj @@ -36,6 +36,7 @@ {2FA8F684-7CC6-4369-9C27-92BD82C152CB} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -213,7 +213,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -317,7 +316,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -353,7 +351,6 @@ Disabled %(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/timeformat_test.vcxproj b/msvc14/tests/timeformat_test.vcxproj index b6934b8ac..0577359e7 100644 --- a/msvc14/tests/timeformat_test.vcxproj +++ b/msvc14/tests/timeformat_test.vcxproj @@ -36,6 +36,7 @@ {7EFABA06-71CD-498F-BF10-C41A7D2DCF3B} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -321,7 +320,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -358,7 +356,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/timeformat_testS.vcxproj b/msvc14/tests/timeformat_testS.vcxproj index 08d1d5694..e8dc9848d 100644 --- a/msvc14/tests/timeformat_testS.vcxproj +++ b/msvc14/tests/timeformat_testS.vcxproj @@ -36,6 +36,7 @@ {98B237DB-7AF6-45C6-A998-850F3BF5A233} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -321,7 +320,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -358,7 +356,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/unit_tests.vcxproj b/msvc14/tests/unit_tests.vcxproj index 493902272..edbea7be8 100644 --- a/msvc14/tests/unit_tests.vcxproj +++ b/msvc14/tests/unit_tests.vcxproj @@ -36,6 +36,7 @@ {DC95D05E-8DDF-4D18-95F7-DDE9EDAE7B83} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -321,7 +320,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -358,7 +356,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch diff --git a/msvc14/tests/unit_testsS.vcxproj b/msvc14/tests/unit_testsS.vcxproj index 5f8af900b..3f1c7e7cb 100644 --- a/msvc14/tests/unit_testsS.vcxproj +++ b/msvc14/tests/unit_testsS.vcxproj @@ -36,6 +36,7 @@ {8014E9D5-764A-4BDC-8590-73A4D739ADC7} + 10.0 @@ -43,50 +44,50 @@ false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 Application false Unicode true - v140 + v143 Application false Unicode - v140 + v143 Application false MultiByte - v140 + v143 Application false MultiByte - v140 + v143 @@ -177,7 +178,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -214,7 +214,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -321,7 +320,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch @@ -358,7 +356,6 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) WIN32;LOG4CPLUS_WITH_UNIT_TESTS=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true EnableFastChecks MultiThreadedDebugDLL $(IntDir)$(ProjectName).pch From 0d272ccb69f401af07fd8904e13f0b3de85b62ca Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 13:51:38 +0200 Subject: [PATCH 275/353] Update to Catch2 v3.6.0. --- CMakeLists.txt | 2 +- Makefile.am | 2 +- Makefile.am.tpl | 2 +- Makefile.in | 472 ++++++++++++---------- catch | 2 +- configure | 14 + configure.ac | 2 + scripts/doautoreconf.sh | 3 +- src/CMakeLists.txt | 11 + src/Makefile.am | 9 +- {tests/unit_tests => src}/boost_tests.cxx | 2 +- src/fileappender.cxx | 2 +- src/filter.cxx | 2 +- src/global-init.cxx | 2 +- src/loggingmacros.cxx | 2 +- src/mdc.cxx | 2 +- src/ndc.cxx | 2 +- src/objectregistry.cxx | 2 +- src/property.cxx | 2 +- src/snprintf.cxx | 2 +- src/socket.cxx | 2 +- src/socketbuffer.cxx | 2 +- src/stringhelper.cxx | 2 +- tests/unit_tests/CMakeLists.txt | 8 - 24 files changed, 317 insertions(+), 236 deletions(-) rename {tests/unit_tests => src}/boost_tests.cxx (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 675ce85d2..029d0abbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ configure_file(${DEFINES_HXX_CMAKE} ${DEFINES_HXX} @ONLY) include_directories (${log4cplus_SOURCE_DIR}/include ${log4cplus_SOURCE_DIR}/threadpool - ${log4cplus_SOURCE_DIR}/catch/single_include/catch2 + ${log4cplus_SOURCE_DIR}/catch/extras ${log4cplus_BINARY_DIR}/include ) diff --git a/Makefile.am b/Makefile.am index b81d3a8dd..1306c29a3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include/catch2 \ + -I$(top_srcdir)/catch/extras \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ AM_CXXFLAGS=@LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ diff --git a/Makefile.am.tpl b/Makefile.am.tpl index a2de6153e..f2d28eb0e 100644 --- a/Makefile.am.tpl +++ b/Makefile.am.tpl @@ -7,7 +7,7 @@ am AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include/catch2 \ + -I$(top_srcdir)/catch/extras \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ AM_CXXFLAGS=@LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ diff --git a/Makefile.in b/Makefile.in index 4e69b273f..1e9c0b04c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -105,51 +105,55 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_28) $(am__EXEEXT_29) $(am__EXEEXT_30) \ $(am__EXEEXT_31) $(am__EXEEXT_32) $(am__EXEEXT_33) \ $(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_1 = liblog4cplusU.la -@MULTI_THREADED_TRUE@am__append_2 = loggingserver -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_3 = loggingserverU -@QT_TRUE@am__append_4 = liblog4cplusqt4debugappender.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_5 = liblog4cplusqt4debugappenderU.la -@QT5_TRUE@am__append_6 = liblog4cplusqt5debugappender.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_7 = liblog4cplusqt5debugappenderU.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_8 = $(PYTHON_WRAPU_CXX) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_9 = log4cplusU.py -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = _log4cplusU.la -@ENABLE_TESTS_TRUE@am__append_11 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in -@ENABLE_TESTS_TRUE@am__append_12 = appender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_13 = appender_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_14 = configandwatch_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_15 = configandwatch_testU -@ENABLE_TESTS_TRUE@am__append_16 = customloglevel_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_17 = customloglevel_testU -@ENABLE_TESTS_TRUE@am__append_18 = fileappender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_19 = fileappender_testU -@ENABLE_TESTS_TRUE@am__append_20 = filter_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_21 = filter_testU -@ENABLE_TESTS_TRUE@am__append_22 = hierarchy_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_23 = hierarchy_testU -@ENABLE_TESTS_TRUE@am__append_24 = loglog_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_25 = loglog_testU -@ENABLE_TESTS_TRUE@am__append_26 = ndc_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_27 = ndc_testU -@ENABLE_TESTS_TRUE@am__append_28 = ostream_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_29 = ostream_testU -@ENABLE_TESTS_TRUE@am__append_30 = patternlayout_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_31 = patternlayout_testU -@ENABLE_TESTS_TRUE@am__append_32 = performance_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_33 = performance_testU -@ENABLE_TESTS_TRUE@am__append_34 = priority_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_35 = priority_testU -@ENABLE_TESTS_TRUE@am__append_36 = propertyconfig_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_37 = propertyconfig_testU -@ENABLE_TESTS_TRUE@am__append_38 = socket_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = socket_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_40 = thread_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_41 = thread_testU -@ENABLE_TESTS_TRUE@am__append_42 = timeformat_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_43 = timeformat_testU -@ENABLE_TESTS_TRUE@am__append_44 = unit_tests -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = unit_testsU +@ENABLE_UNIT_TESTS_TRUE@am__append_1 = \ +@ENABLE_UNIT_TESTS_TRUE@ src/boost_tests.cxx \ +@ENABLE_UNIT_TESTS_TRUE@ $(top_srcdir)/catch/extras/catch_amalgamated.cpp + +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_2 = liblog4cplusU.la +@MULTI_THREADED_TRUE@am__append_3 = loggingserver +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_4 = loggingserverU +@QT_TRUE@am__append_5 = liblog4cplusqt4debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_6 = liblog4cplusqt4debugappenderU.la +@QT5_TRUE@am__append_7 = liblog4cplusqt5debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_8 = liblog4cplusqt5debugappenderU.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_9 = $(PYTHON_WRAPU_CXX) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = log4cplusU.py +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_11 = _log4cplusU.la +@ENABLE_TESTS_TRUE@am__append_12 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in +@ENABLE_TESTS_TRUE@am__append_13 = appender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_14 = appender_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_15 = configandwatch_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_16 = configandwatch_testU +@ENABLE_TESTS_TRUE@am__append_17 = customloglevel_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_18 = customloglevel_testU +@ENABLE_TESTS_TRUE@am__append_19 = fileappender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_20 = fileappender_testU +@ENABLE_TESTS_TRUE@am__append_21 = filter_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_22 = filter_testU +@ENABLE_TESTS_TRUE@am__append_23 = hierarchy_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_24 = hierarchy_testU +@ENABLE_TESTS_TRUE@am__append_25 = loglog_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_26 = loglog_testU +@ENABLE_TESTS_TRUE@am__append_27 = ndc_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_28 = ndc_testU +@ENABLE_TESTS_TRUE@am__append_29 = ostream_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_30 = ostream_testU +@ENABLE_TESTS_TRUE@am__append_31 = patternlayout_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_32 = patternlayout_testU +@ENABLE_TESTS_TRUE@am__append_33 = performance_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_34 = performance_testU +@ENABLE_TESTS_TRUE@am__append_35 = priority_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_36 = priority_testU +@ENABLE_TESTS_TRUE@am__append_37 = propertyconfig_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_38 = propertyconfig_testU +@ENABLE_TESTS_TRUE@am__append_39 = socket_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_40 = socket_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_41 = thread_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_42 = thread_testU +@ENABLE_TESTS_TRUE@am__append_43 = timeformat_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_44 = timeformat_testU +@ENABLE_TESTS_TRUE@am__append_45 = unit_tests +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_46 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -291,7 +295,10 @@ _log4cplusU_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(pkgpyexecdir) liblog4cplus_la_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp -am__objects_4 = src/liblog4cplus_la-appenderattachableimpl.lo \ +@ENABLE_UNIT_TESTS_TRUE@am__objects_4 = \ +@ENABLE_UNIT_TESTS_TRUE@ src/liblog4cplus_la-boost_tests.lo \ +@ENABLE_UNIT_TESTS_TRUE@ $(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo +am__objects_5 = src/liblog4cplus_la-appenderattachableimpl.lo \ src/liblog4cplus_la-appender.lo \ src/liblog4cplus_la-asyncappender.lo \ src/liblog4cplus_la-callbackappender.lo \ @@ -337,8 +344,7 @@ am__objects_4 = src/liblog4cplus_la-appenderattachableimpl.lo \ src/liblog4cplus_la-timehelper.lo src/liblog4cplus_la-tls.lo \ src/liblog4cplus_la-version.lo \ src/liblog4cplus_la-win32consoleappender.lo \ - src/liblog4cplus_la-win32debugappender.lo -am__objects_5 = $(am__objects_4) + src/liblog4cplus_la-win32debugappender.lo $(am__objects_4) am__objects_6 = $(am__objects_5) am_liblog4cplus_la_OBJECTS = $(am__objects_6) liblog4cplus_la_OBJECTS = $(am_liblog4cplus_la_OBJECTS) @@ -347,7 +353,10 @@ liblog4cplus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_CXXFLAGS) $(CXXFLAGS) $(liblog4cplus_la_LDFLAGS) \ $(LDFLAGS) -o $@ liblog4cplusU_la_LIBADD = -am__objects_7 = src/liblog4cplusU_la-appenderattachableimpl.lo \ +@ENABLE_UNIT_TESTS_TRUE@am__objects_7 = \ +@ENABLE_UNIT_TESTS_TRUE@ src/liblog4cplusU_la-boost_tests.lo \ +@ENABLE_UNIT_TESTS_TRUE@ $(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo +am__objects_8 = src/liblog4cplusU_la-appenderattachableimpl.lo \ src/liblog4cplusU_la-appender.lo \ src/liblog4cplusU_la-asyncappender.lo \ src/liblog4cplusU_la-callbackappender.lo \ @@ -397,8 +406,7 @@ am__objects_7 = src/liblog4cplusU_la-appenderattachableimpl.lo \ src/liblog4cplusU_la-timehelper.lo src/liblog4cplusU_la-tls.lo \ src/liblog4cplusU_la-version.lo \ src/liblog4cplusU_la-win32consoleappender.lo \ - src/liblog4cplusU_la-win32debugappender.lo -am__objects_8 = $(am__objects_7) + src/liblog4cplusU_la-win32debugappender.lo $(am__objects_7) am__objects_9 = $(am__objects_8) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am_liblog4cplusU_la_OBJECTS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@ $(am__objects_9) @@ -768,7 +776,9 @@ am__v_at_1 = DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ +am__depfiles_remade = $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Plo \ + $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Plo \ + ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ ./$(DEPDIR)/_log4cplus_la-python_wrap.Plo \ qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo \ qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo \ @@ -779,6 +789,7 @@ am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ src/$(DEPDIR)/liblog4cplusU_la-appender.Plo \ src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Plo \ src/$(DEPDIR)/liblog4cplusU_la-asyncappender.Plo \ + src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Plo \ src/$(DEPDIR)/liblog4cplusU_la-callbackappender.Plo \ src/$(DEPDIR)/liblog4cplusU_la-clogger.Plo \ src/$(DEPDIR)/liblog4cplusU_la-configurator.Plo \ @@ -834,6 +845,7 @@ am__depfiles_remade = ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo \ src/$(DEPDIR)/liblog4cplus_la-appender.Plo \ src/$(DEPDIR)/liblog4cplus_la-appenderattachableimpl.Plo \ src/$(DEPDIR)/liblog4cplus_la-asyncappender.Plo \ + src/$(DEPDIR)/liblog4cplus_la-boost_tests.Plo \ src/$(DEPDIR)/liblog4cplus_la-callbackappender.Plo \ src/$(DEPDIR)/liblog4cplus_la-clogger.Plo \ src/$(DEPDIR)/liblog4cplus_la-configurator.Plo \ @@ -1206,14 +1218,14 @@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/threadpool \ -I$(top_builddir)/include \ - -I$(top_srcdir)/catch/single_include/catch2 \ + -I$(top_srcdir)/catch/extras \ -DCATCH_CONFIG_PREFIX_ALL=1 \ @LOG4CPLUS_NDEBUG@ AM_CXXFLAGS = @LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ AM_LDFLAGS = @LOG4CPLUS_PROFILING_LDFLAGS@ @LOG4CPLUS_LTO_LDFLAGS@ ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_11) +EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_12) SUBDIRS = include pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = log4cplus.pc @@ -1225,66 +1237,29 @@ LOG4CPLUS_VERSION_LT_FLAGS = $(VERSION_INFO_OPTION) $(RELEASE_OPTION) INCLUDES_SRC_PATH = $(top_srcdir)/include/log4cplus liblog4cplus_la_file = $(top_builddir)/liblog4cplus.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@liblog4cplusU_la_file = $(top_builddir)/liblog4cplusU.la -lib_LTLIBRARIES = liblog4cplus.la $(am__append_1) $(am__append_4) \ - $(am__append_5) $(am__append_6) $(am__append_7) -SINGLE_THREADED_SRC = \ - src/appenderattachableimpl.cxx \ - src/appender.cxx \ - src/asyncappender.cxx \ - src/callbackappender.cxx \ - src/clogger.cxx \ - src/configurator.cxx \ - src/connectorthread.cxx \ - src/consoleappender.cxx \ - src/cygwin-win32.cxx \ - src/env.cxx \ - src/exception.cxx \ - src/factory.cxx \ - src/fileappender.cxx \ - src/fileinfo.cxx \ - src/filter.cxx \ - src/global-init.cxx \ - src/hierarchy.cxx \ - src/hierarchylocker.cxx \ - src/layout.cxx \ - src/log4judpappender.cxx \ - src/lockfile.cxx \ - src/logger.cxx \ - src/loggerimpl.cxx \ - src/loggingevent.cxx \ - src/loggingmacros.cxx \ - src/loglevel.cxx \ - src/loglog.cxx \ - src/mdc.cxx \ - src/ndc.cxx \ - src/nullappender.cxx \ - src/nteventlogappender.cxx \ - src/objectregistry.cxx \ - src/patternlayout.cxx \ - src/pointer.cxx \ - src/property.cxx \ - src/queue.cxx \ - src/rootlogger.cxx \ - src/snprintf.cxx \ - src/socketappender.cxx \ - src/socketbuffer.cxx \ - src/socket.cxx \ - src/socket-unix.cxx \ - src/socket-win32.cxx \ - src/stringhelper.cxx \ - src/stringhelper-clocale.cxx \ - src/stringhelper-cxxlocale.cxx \ - src/stringhelper-iconv.cxx \ - src/syncprims.cxx \ - src/syslogappender.cxx \ - src/threads.cxx \ - src/timehelper.cxx \ - src/tls.cxx \ - src/version.cxx \ - src/win32consoleappender.cxx \ - src/win32debugappender.cxx - -LIB_SRC = $(SINGLE_THREADED_SRC) +lib_LTLIBRARIES = liblog4cplus.la $(am__append_2) $(am__append_5) \ + $(am__append_6) $(am__append_7) $(am__append_8) +LIB_SRC = src/appenderattachableimpl.cxx src/appender.cxx \ + src/asyncappender.cxx src/callbackappender.cxx src/clogger.cxx \ + src/configurator.cxx src/connectorthread.cxx \ + src/consoleappender.cxx src/cygwin-win32.cxx src/env.cxx \ + src/exception.cxx src/factory.cxx src/fileappender.cxx \ + src/fileinfo.cxx src/filter.cxx src/global-init.cxx \ + src/hierarchy.cxx src/hierarchylocker.cxx src/layout.cxx \ + src/log4judpappender.cxx src/lockfile.cxx src/logger.cxx \ + src/loggerimpl.cxx src/loggingevent.cxx src/loggingmacros.cxx \ + src/loglevel.cxx src/loglog.cxx src/mdc.cxx src/ndc.cxx \ + src/nullappender.cxx src/nteventlogappender.cxx \ + src/objectregistry.cxx src/patternlayout.cxx src/pointer.cxx \ + src/property.cxx src/queue.cxx src/rootlogger.cxx \ + src/snprintf.cxx src/socketappender.cxx src/socketbuffer.cxx \ + src/socket.cxx src/socket-unix.cxx src/socket-win32.cxx \ + src/stringhelper.cxx src/stringhelper-clocale.cxx \ + src/stringhelper-cxxlocale.cxx src/stringhelper-iconv.cxx \ + src/syncprims.cxx src/syslogappender.cxx src/threads.cxx \ + src/timehelper.cxx src/tls.cxx src/version.cxx \ + src/win32consoleappender.cxx src/win32debugappender.cxx \ + $(am__append_1) common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS liblog4cplus_la_CPPFLAGS = $(common_liblog4cplus_la_cppflags) common_liblog4cplus_la_sources = $(LIB_SRC) @@ -1380,10 +1355,10 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @WITH_SWIG_TRUE@ swig/loggingevent.swg @WITH_PYTHON_TRUE@PYTHON_WRAP_CXX = python_wrap.cxx -@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_8) -@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_9) +@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_9) +@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_10) @WITH_PYTHON_TRUE@pkgpyexec_LTLIBRARIES = _log4cplus.la \ -@WITH_PYTHON_TRUE@ $(am__append_10) +@WITH_PYTHON_TRUE@ $(am__append_11) @WITH_PYTHON_TRUE@_log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) @WITH_PYTHON_TRUE@_log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ @WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ @@ -1602,7 +1577,7 @@ all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -.SUFFIXES: .cxx .lo .o .obj +.SUFFIXES: .cpp .cxx .lo .o .obj am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) @@ -1752,10 +1727,10 @@ _log4cplusU.la: $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_DEPENDENCIES) $(EXTRA $(AM_V_CXXLD)$(_log4cplusU_la_LINK) $(am__log4cplusU_la_rpath) $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_LIBADD) $(LIBS) src/$(am__dirstamp): @$(MKDIR_P) src - @: >>src/$(am__dirstamp) + @: > src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) - @: >>src/$(DEPDIR)/$(am__dirstamp) + @: > src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appenderattachableimpl.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appender.lo: src/$(am__dirstamp) \ @@ -1866,6 +1841,17 @@ src/liblog4cplus_la-win32consoleappender.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-win32debugappender.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplus_la-boost_tests.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +$(top_builddir)/catch/extras/$(am__dirstamp): + @$(MKDIR_P) $(top_builddir)/catch/extras + @: > $(top_builddir)/catch/extras/$(am__dirstamp) +$(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) $(top_builddir)/catch/extras/$(DEPDIR) + @: > $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) +$(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo: \ + $(top_builddir)/catch/extras/$(am__dirstamp) \ + $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) liblog4cplus.la: $(liblog4cplus_la_OBJECTS) $(liblog4cplus_la_DEPENDENCIES) $(EXTRA_liblog4cplus_la_DEPENDENCIES) $(AM_V_CXXLD)$(liblog4cplus_la_LINK) -rpath $(libdir) $(liblog4cplus_la_OBJECTS) $(liblog4cplus_la_LIBADD) $(LIBS) @@ -1979,15 +1965,20 @@ src/liblog4cplusU_la-win32consoleappender.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-win32debugappender.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplusU_la-boost_tests.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +$(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo: \ + $(top_builddir)/catch/extras/$(am__dirstamp) \ + $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) liblog4cplusU.la: $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_DEPENDENCIES) $(EXTRA_liblog4cplusU_la_DEPENDENCIES) $(AM_V_CXXLD)$(liblog4cplusU_la_LINK) $(am_liblog4cplusU_la_rpath) $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_LIBADD) $(LIBS) qt4debugappender/$(am__dirstamp): @$(MKDIR_P) qt4debugappender - @: >>qt4debugappender/$(am__dirstamp) + @: > qt4debugappender/$(am__dirstamp) qt4debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt4debugappender/$(DEPDIR) - @: >>qt4debugappender/$(DEPDIR)/$(am__dirstamp) + @: > qt4debugappender/$(DEPDIR)/$(am__dirstamp) qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo: \ qt4debugappender/$(am__dirstamp) \ qt4debugappender/$(DEPDIR)/$(am__dirstamp) @@ -2002,10 +1993,10 @@ liblog4cplusqt4debugappenderU.la: $(liblog4cplusqt4debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt4debugappenderU_la_LINK) $(am_liblog4cplusqt4debugappenderU_la_rpath) $(liblog4cplusqt4debugappenderU_la_OBJECTS) $(liblog4cplusqt4debugappenderU_la_LIBADD) $(LIBS) qt5debugappender/$(am__dirstamp): @$(MKDIR_P) qt5debugappender - @: >>qt5debugappender/$(am__dirstamp) + @: > qt5debugappender/$(am__dirstamp) qt5debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt5debugappender/$(DEPDIR) - @: >>qt5debugappender/$(DEPDIR)/$(am__dirstamp) + @: > qt5debugappender/$(DEPDIR)/$(am__dirstamp) qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo: \ qt5debugappender/$(am__dirstamp) \ qt5debugappender/$(DEPDIR)/$(am__dirstamp) @@ -2020,10 +2011,10 @@ liblog4cplusqt5debugappenderU.la: $(liblog4cplusqt5debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt5debugappenderU_la_LINK) $(am_liblog4cplusqt5debugappenderU_la_rpath) $(liblog4cplusqt5debugappenderU_la_OBJECTS) $(liblog4cplusqt5debugappenderU_la_LIBADD) $(LIBS) tests/appender_test/$(am__dirstamp): @$(MKDIR_P) tests/appender_test - @: >>tests/appender_test/$(am__dirstamp) + @: > tests/appender_test/$(am__dirstamp) tests/appender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/appender_test/$(DEPDIR) - @: >>tests/appender_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/appender_test/$(DEPDIR)/$(am__dirstamp) tests/appender_test/main.$(OBJEXT): \ tests/appender_test/$(am__dirstamp) \ tests/appender_test/$(DEPDIR)/$(am__dirstamp) @@ -2040,10 +2031,10 @@ appender_testU$(EXEEXT): $(appender_testU_OBJECTS) $(appender_testU_DEPENDENCIES $(AM_V_CXXLD)$(appender_testU_LINK) $(appender_testU_OBJECTS) $(appender_testU_LDADD) $(LIBS) tests/configandwatch_test/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test - @: >>tests/configandwatch_test/$(am__dirstamp) + @: > tests/configandwatch_test/$(am__dirstamp) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test/$(DEPDIR) - @: >>tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) tests/configandwatch_test/main.$(OBJEXT): \ tests/configandwatch_test/$(am__dirstamp) \ tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) @@ -2060,10 +2051,10 @@ configandwatch_testU$(EXEEXT): $(configandwatch_testU_OBJECTS) $(configandwatch_ $(AM_V_CXXLD)$(configandwatch_testU_LINK) $(configandwatch_testU_OBJECTS) $(configandwatch_testU_LDADD) $(LIBS) tests/customloglevel_test/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test - @: >>tests/customloglevel_test/$(am__dirstamp) + @: > tests/customloglevel_test/$(am__dirstamp) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test/$(DEPDIR) - @: >>tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) tests/customloglevel_test/func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2086,10 +2077,10 @@ customloglevel_testU$(EXEEXT): $(customloglevel_testU_OBJECTS) $(customloglevel_ $(AM_V_CXXLD)$(customloglevel_testU_LINK) $(customloglevel_testU_OBJECTS) $(customloglevel_testU_LDADD) $(LIBS) tests/fileappender_test/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test - @: >>tests/fileappender_test/$(am__dirstamp) + @: > tests/fileappender_test/$(am__dirstamp) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test/$(DEPDIR) - @: >>tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) tests/fileappender_test/main.$(OBJEXT): \ tests/fileappender_test/$(am__dirstamp) \ tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) @@ -2106,10 +2097,10 @@ fileappender_testU$(EXEEXT): $(fileappender_testU_OBJECTS) $(fileappender_testU_ $(AM_V_CXXLD)$(fileappender_testU_LINK) $(fileappender_testU_OBJECTS) $(fileappender_testU_LDADD) $(LIBS) tests/filter_test/$(am__dirstamp): @$(MKDIR_P) tests/filter_test - @: >>tests/filter_test/$(am__dirstamp) + @: > tests/filter_test/$(am__dirstamp) tests/filter_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/filter_test/$(DEPDIR) - @: >>tests/filter_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/filter_test/$(DEPDIR)/$(am__dirstamp) tests/filter_test/main.$(OBJEXT): tests/filter_test/$(am__dirstamp) \ tests/filter_test/$(DEPDIR)/$(am__dirstamp) @@ -2125,10 +2116,10 @@ filter_testU$(EXEEXT): $(filter_testU_OBJECTS) $(filter_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(filter_testU_LINK) $(filter_testU_OBJECTS) $(filter_testU_LDADD) $(LIBS) tests/hierarchy_test/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test - @: >>tests/hierarchy_test/$(am__dirstamp) + @: > tests/hierarchy_test/$(am__dirstamp) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test/$(DEPDIR) - @: >>tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) tests/hierarchy_test/main.$(OBJEXT): \ tests/hierarchy_test/$(am__dirstamp) \ tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) @@ -2145,10 +2136,10 @@ hierarchy_testU$(EXEEXT): $(hierarchy_testU_OBJECTS) $(hierarchy_testU_DEPENDENC $(AM_V_CXXLD)$(hierarchy_testU_LINK) $(hierarchy_testU_OBJECTS) $(hierarchy_testU_LDADD) $(LIBS) simpleserver/$(am__dirstamp): @$(MKDIR_P) simpleserver - @: >>simpleserver/$(am__dirstamp) + @: > simpleserver/$(am__dirstamp) simpleserver/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) simpleserver/$(DEPDIR) - @: >>simpleserver/$(DEPDIR)/$(am__dirstamp) + @: > simpleserver/$(DEPDIR)/$(am__dirstamp) simpleserver/loggingserver.$(OBJEXT): simpleserver/$(am__dirstamp) \ simpleserver/$(DEPDIR)/$(am__dirstamp) @@ -2164,10 +2155,10 @@ loggingserverU$(EXEEXT): $(loggingserverU_OBJECTS) $(loggingserverU_DEPENDENCIES $(AM_V_CXXLD)$(CXXLINK) $(loggingserverU_OBJECTS) $(loggingserverU_LDADD) $(LIBS) tests/loglog_test/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test - @: >>tests/loglog_test/$(am__dirstamp) + @: > tests/loglog_test/$(am__dirstamp) tests/loglog_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test/$(DEPDIR) - @: >>tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/loglog_test/$(DEPDIR)/$(am__dirstamp) tests/loglog_test/main.$(OBJEXT): tests/loglog_test/$(am__dirstamp) \ tests/loglog_test/$(DEPDIR)/$(am__dirstamp) @@ -2183,10 +2174,10 @@ loglog_testU$(EXEEXT): $(loglog_testU_OBJECTS) $(loglog_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(loglog_testU_LINK) $(loglog_testU_OBJECTS) $(loglog_testU_LDADD) $(LIBS) tests/ndc_test/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test - @: >>tests/ndc_test/$(am__dirstamp) + @: > tests/ndc_test/$(am__dirstamp) tests/ndc_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test/$(DEPDIR) - @: >>tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/ndc_test/$(DEPDIR)/$(am__dirstamp) tests/ndc_test/main.$(OBJEXT): tests/ndc_test/$(am__dirstamp) \ tests/ndc_test/$(DEPDIR)/$(am__dirstamp) @@ -2202,10 +2193,10 @@ ndc_testU$(EXEEXT): $(ndc_testU_OBJECTS) $(ndc_testU_DEPENDENCIES) $(EXTRA_ndc_t $(AM_V_CXXLD)$(ndc_testU_LINK) $(ndc_testU_OBJECTS) $(ndc_testU_LDADD) $(LIBS) tests/ostream_test/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test - @: >>tests/ostream_test/$(am__dirstamp) + @: > tests/ostream_test/$(am__dirstamp) tests/ostream_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test/$(DEPDIR) - @: >>tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/ostream_test/$(DEPDIR)/$(am__dirstamp) tests/ostream_test/main.$(OBJEXT): tests/ostream_test/$(am__dirstamp) \ tests/ostream_test/$(DEPDIR)/$(am__dirstamp) @@ -2221,10 +2212,10 @@ ostream_testU$(EXEEXT): $(ostream_testU_OBJECTS) $(ostream_testU_DEPENDENCIES) $ $(AM_V_CXXLD)$(ostream_testU_LINK) $(ostream_testU_OBJECTS) $(ostream_testU_LDADD) $(LIBS) tests/patternlayout_test/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test - @: >>tests/patternlayout_test/$(am__dirstamp) + @: > tests/patternlayout_test/$(am__dirstamp) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test/$(DEPDIR) - @: >>tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) tests/patternlayout_test/main.$(OBJEXT): \ tests/patternlayout_test/$(am__dirstamp) \ tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) @@ -2241,10 +2232,10 @@ patternlayout_testU$(EXEEXT): $(patternlayout_testU_OBJECTS) $(patternlayout_tes $(AM_V_CXXLD)$(patternlayout_testU_LINK) $(patternlayout_testU_OBJECTS) $(patternlayout_testU_LDADD) $(LIBS) tests/performance_test/$(am__dirstamp): @$(MKDIR_P) tests/performance_test - @: >>tests/performance_test/$(am__dirstamp) + @: > tests/performance_test/$(am__dirstamp) tests/performance_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/performance_test/$(DEPDIR) - @: >>tests/performance_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/performance_test/$(DEPDIR)/$(am__dirstamp) tests/performance_test/main.$(OBJEXT): \ tests/performance_test/$(am__dirstamp) \ tests/performance_test/$(DEPDIR)/$(am__dirstamp) @@ -2261,10 +2252,10 @@ performance_testU$(EXEEXT): $(performance_testU_OBJECTS) $(performance_testU_DEP $(AM_V_CXXLD)$(performance_testU_LINK) $(performance_testU_OBJECTS) $(performance_testU_LDADD) $(LIBS) tests/priority_test/$(am__dirstamp): @$(MKDIR_P) tests/priority_test - @: >>tests/priority_test/$(am__dirstamp) + @: > tests/priority_test/$(am__dirstamp) tests/priority_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/priority_test/$(DEPDIR) - @: >>tests/priority_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/priority_test/$(DEPDIR)/$(am__dirstamp) tests/priority_test/func.$(OBJEXT): \ tests/priority_test/$(am__dirstamp) \ tests/priority_test/$(DEPDIR)/$(am__dirstamp) @@ -2287,10 +2278,10 @@ priority_testU$(EXEEXT): $(priority_testU_OBJECTS) $(priority_testU_DEPENDENCIES $(AM_V_CXXLD)$(priority_testU_LINK) $(priority_testU_OBJECTS) $(priority_testU_LDADD) $(LIBS) tests/propertyconfig_test/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test - @: >>tests/propertyconfig_test/$(am__dirstamp) + @: > tests/propertyconfig_test/$(am__dirstamp) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test/$(DEPDIR) - @: >>tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) tests/propertyconfig_test/main.$(OBJEXT): \ tests/propertyconfig_test/$(am__dirstamp) \ tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) @@ -2307,10 +2298,10 @@ propertyconfig_testU$(EXEEXT): $(propertyconfig_testU_OBJECTS) $(propertyconfig_ $(AM_V_CXXLD)$(propertyconfig_testU_LINK) $(propertyconfig_testU_OBJECTS) $(propertyconfig_testU_LDADD) $(LIBS) tests/socket_test/$(am__dirstamp): @$(MKDIR_P) tests/socket_test - @: >>tests/socket_test/$(am__dirstamp) + @: > tests/socket_test/$(am__dirstamp) tests/socket_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/socket_test/$(DEPDIR) - @: >>tests/socket_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/socket_test/$(DEPDIR)/$(am__dirstamp) tests/socket_test/main.$(OBJEXT): tests/socket_test/$(am__dirstamp) \ tests/socket_test/$(DEPDIR)/$(am__dirstamp) @@ -2326,10 +2317,10 @@ socket_testU$(EXEEXT): $(socket_testU_OBJECTS) $(socket_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(socket_testU_LINK) $(socket_testU_OBJECTS) $(socket_testU_LDADD) $(LIBS) tests/thread_test/$(am__dirstamp): @$(MKDIR_P) tests/thread_test - @: >>tests/thread_test/$(am__dirstamp) + @: > tests/thread_test/$(am__dirstamp) tests/thread_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/thread_test/$(DEPDIR) - @: >>tests/thread_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/thread_test/$(DEPDIR)/$(am__dirstamp) tests/thread_test/main.$(OBJEXT): tests/thread_test/$(am__dirstamp) \ tests/thread_test/$(DEPDIR)/$(am__dirstamp) @@ -2345,10 +2336,10 @@ thread_testU$(EXEEXT): $(thread_testU_OBJECTS) $(thread_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(thread_testU_LINK) $(thread_testU_OBJECTS) $(thread_testU_LDADD) $(LIBS) tests/timeformat_test/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test - @: >>tests/timeformat_test/$(am__dirstamp) + @: > tests/timeformat_test/$(am__dirstamp) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test/$(DEPDIR) - @: >>tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + @: > tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) tests/timeformat_test/main.$(OBJEXT): \ tests/timeformat_test/$(am__dirstamp) \ tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) @@ -2365,10 +2356,10 @@ timeformat_testU$(EXEEXT): $(timeformat_testU_OBJECTS) $(timeformat_testU_DEPEND $(AM_V_CXXLD)$(timeformat_testU_LINK) $(timeformat_testU_OBJECTS) $(timeformat_testU_LDADD) $(LIBS) tests/unit_tests/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests - @: >>tests/unit_tests/$(am__dirstamp) + @: > tests/unit_tests/$(am__dirstamp) tests/unit_tests/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests/$(DEPDIR) - @: >>tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + @: > tests/unit_tests/$(DEPDIR)/$(am__dirstamp) tests/unit_tests/unit_tests.$(OBJEXT): \ tests/unit_tests/$(am__dirstamp) \ tests/unit_tests/$(DEPDIR)/$(am__dirstamp) @@ -2386,6 +2377,8 @@ unit_testsU$(EXEEXT): $(unit_testsU_OBJECTS) $(unit_testsU_DEPENDENCIES) $(EXTRA mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f $(top_builddir)/catch/extras/*.$(OBJEXT) + -rm -f $(top_builddir)/catch/extras/*.lo -rm -f qt4debugappender/*.$(OBJEXT) -rm -f qt4debugappender/*.lo -rm -f qt5debugappender/*.$(OBJEXT) @@ -2414,6 +2407,8 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@$(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@$(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_log4cplus_la-python_wrap.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo@am__quote@ # am--include-marker @@ -2425,6 +2420,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-appender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-asyncappender.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-callbackappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-clogger.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-configurator.Plo@am__quote@ # am--include-marker @@ -2480,6 +2476,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-appender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-appenderattachableimpl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-asyncappender.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-boost_tests.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-callbackappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-clogger.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-configurator.Plo@am__quote@ # am--include-marker @@ -2577,7 +2574,7 @@ $(am__depfiles_remade): am--depfiles: $(am__depfiles_remade) -.cxx.o: +.cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @@ -2585,7 +2582,7 @@ am--depfiles: $(am__depfiles_remade) @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< -.cxx.obj: +.cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @@ -2593,7 +2590,7 @@ am--depfiles: $(am__depfiles_remade) @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -.cxx.lo: +.cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @@ -3000,6 +2997,20 @@ src/liblog4cplus_la-win32debugappender.lo: src/win32debugappender.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-win32debugappender.lo `test -f 'src/win32debugappender.cxx' || echo '$(srcdir)/'`src/win32debugappender.cxx +src/liblog4cplus_la-boost_tests.lo: src/boost_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplus_la-boost_tests.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplus_la-boost_tests.Tpo -c -o src/liblog4cplus_la-boost_tests.lo `test -f 'src/boost_tests.cxx' || echo '$(srcdir)/'`src/boost_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplus_la-boost_tests.Tpo src/$(DEPDIR)/liblog4cplus_la-boost_tests.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/boost_tests.cxx' object='src/liblog4cplus_la-boost_tests.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-boost_tests.lo `test -f 'src/boost_tests.cxx' || echo '$(srcdir)/'`src/boost_tests.cxx + +$(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo: $(top_builddir)/catch/extras/catch_amalgamated.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT $(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo -MD -MP -MF $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Tpo -c -o $(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo `test -f '$(top_builddir)/catch/extras/catch_amalgamated.cpp' || echo '$(srcdir)/'`$(top_builddir)/catch/extras/catch_amalgamated.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Tpo $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_builddir)/catch/extras/catch_amalgamated.cpp' object='$(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o $(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo `test -f '$(top_builddir)/catch/extras/catch_amalgamated.cpp' || echo '$(srcdir)/'`$(top_builddir)/catch/extras/catch_amalgamated.cpp + src/liblog4cplusU_la-appenderattachableimpl.lo: src/appenderattachableimpl.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-appenderattachableimpl.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Tpo -c -o src/liblog4cplusU_la-appenderattachableimpl.lo `test -f 'src/appenderattachableimpl.cxx' || echo '$(srcdir)/'`src/appenderattachableimpl.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Tpo src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Plo @@ -3385,6 +3396,20 @@ src/liblog4cplusU_la-win32debugappender.lo: src/win32debugappender.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-win32debugappender.lo `test -f 'src/win32debugappender.cxx' || echo '$(srcdir)/'`src/win32debugappender.cxx +src/liblog4cplusU_la-boost_tests.lo: src/boost_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-boost_tests.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Tpo -c -o src/liblog4cplusU_la-boost_tests.lo `test -f 'src/boost_tests.cxx' || echo '$(srcdir)/'`src/boost_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Tpo src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/boost_tests.cxx' object='src/liblog4cplusU_la-boost_tests.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-boost_tests.lo `test -f 'src/boost_tests.cxx' || echo '$(srcdir)/'`src/boost_tests.cxx + +$(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo: $(top_builddir)/catch/extras/catch_amalgamated.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT $(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo -MD -MP -MF $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Tpo -c -o $(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo `test -f '$(top_builddir)/catch/extras/catch_amalgamated.cpp' || echo '$(srcdir)/'`$(top_builddir)/catch/extras/catch_amalgamated.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Tpo $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_builddir)/catch/extras/catch_amalgamated.cpp' object='$(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o $(top_builddir)/catch/extras/liblog4cplusU_la-catch_amalgamated.lo `test -f '$(top_builddir)/catch/extras/catch_amalgamated.cpp' || echo '$(srcdir)/'`$(top_builddir)/catch/extras/catch_amalgamated.cpp + qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo: qt4debugappender/qt4debugappender.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt4debugappender_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo -MD -MP -MF qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Tpo -c -o qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo `test -f 'qt4debugappender/qt4debugappender.cxx' || echo '$(srcdir)/'`qt4debugappender/qt4debugappender.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Tpo qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo @@ -3693,10 +3718,35 @@ tests/unit_tests/unit_testsU-unit_tests.obj: tests/unit_tests/unit_tests.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_testsU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/unit_tests/unit_testsU-unit_tests.obj `if test -f 'tests/unit_tests/unit_tests.cxx'; then $(CYGPATH_W) 'tests/unit_tests/unit_tests.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/unit_tests/unit_tests.cxx'; fi` +.cxx.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cxx.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cxx.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + mostlyclean-libtool: -rm -f *.lo clean-libtool: + -rm -rf $(top_builddir)/catch/extras/.libs $(top_builddir)/catch/extras/_libs -rm -rf .libs _libs -rm -rf qt4debugappender/.libs qt4debugappender/_libs -rm -rf qt5debugappender/.libs qt5debugappender/_libs @@ -3913,53 +3963,55 @@ clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) - -$(am__rm_f) qt4debugappender/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) qt4debugappender/$(am__dirstamp) - -$(am__rm_f) qt5debugappender/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) qt5debugappender/$(am__dirstamp) - -$(am__rm_f) simpleserver/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) simpleserver/$(am__dirstamp) - -$(am__rm_f) src/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) src/$(am__dirstamp) - -$(am__rm_f) tests/appender_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/appender_test/$(am__dirstamp) - -$(am__rm_f) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/configandwatch_test/$(am__dirstamp) - -$(am__rm_f) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/customloglevel_test/$(am__dirstamp) - -$(am__rm_f) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/fileappender_test/$(am__dirstamp) - -$(am__rm_f) tests/filter_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/filter_test/$(am__dirstamp) - -$(am__rm_f) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/hierarchy_test/$(am__dirstamp) - -$(am__rm_f) tests/loglog_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/loglog_test/$(am__dirstamp) - -$(am__rm_f) tests/ndc_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/ndc_test/$(am__dirstamp) - -$(am__rm_f) tests/ostream_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/ostream_test/$(am__dirstamp) - -$(am__rm_f) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/patternlayout_test/$(am__dirstamp) - -$(am__rm_f) tests/performance_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/performance_test/$(am__dirstamp) - -$(am__rm_f) tests/priority_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/priority_test/$(am__dirstamp) - -$(am__rm_f) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/propertyconfig_test/$(am__dirstamp) - -$(am__rm_f) tests/socket_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/socket_test/$(am__dirstamp) - -$(am__rm_f) tests/thread_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/thread_test/$(am__dirstamp) - -$(am__rm_f) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/timeformat_test/$(am__dirstamp) - -$(am__rm_f) tests/unit_tests/$(DEPDIR)/$(am__dirstamp) - -$(am__rm_f) tests/unit_tests/$(am__dirstamp) + -rm -f qt4debugappender/$(DEPDIR)/$(am__dirstamp) + -rm -f qt4debugappender/$(am__dirstamp) + -rm -f qt5debugappender/$(DEPDIR)/$(am__dirstamp) + -rm -f qt5debugappender/$(am__dirstamp) + -rm -f simpleserver/$(DEPDIR)/$(am__dirstamp) + -rm -f simpleserver/$(am__dirstamp) + -rm -f src/$(DEPDIR)/$(am__dirstamp) + -rm -f src/$(am__dirstamp) + -rm -f tests/appender_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/appender_test/$(am__dirstamp) + -rm -f tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/configandwatch_test/$(am__dirstamp) + -rm -f tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/customloglevel_test/$(am__dirstamp) + -rm -f tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/fileappender_test/$(am__dirstamp) + -rm -f tests/filter_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/filter_test/$(am__dirstamp) + -rm -f tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/hierarchy_test/$(am__dirstamp) + -rm -f tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/loglog_test/$(am__dirstamp) + -rm -f tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/ndc_test/$(am__dirstamp) + -rm -f tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/ostream_test/$(am__dirstamp) + -rm -f tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/patternlayout_test/$(am__dirstamp) + -rm -f tests/performance_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/performance_test/$(am__dirstamp) + -rm -f tests/priority_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/priority_test/$(am__dirstamp) + -rm -f tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/propertyconfig_test/$(am__dirstamp) + -rm -f tests/socket_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/socket_test/$(am__dirstamp) + -rm -f tests/thread_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/thread_test/$(am__dirstamp) + -rm -f tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/timeformat_test/$(am__dirstamp) + -rm -f tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + -rm -f tests/unit_tests/$(am__dirstamp) + -test -z "$(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp)" || rm -f $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) + -test -z "$(top_builddir)/catch/extras/$(am__dirstamp)" || rm -f $(top_builddir)/catch/extras/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -$(am__rm_f) $(BUILT_SOURCES) + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) @ENABLE_TESTS_FALSE@clean-local: clean: clean-recursive @@ -3968,6 +4020,8 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Plo + -rm -f $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Plo -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo -rm -f ./$(DEPDIR)/_log4cplus_la-python_wrap.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo @@ -3979,6 +4033,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-appender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-asyncappender.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-callbackappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-clogger.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-configurator.Plo @@ -4034,6 +4089,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-appender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-appenderattachableimpl.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-asyncappender.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-boost_tests.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-callbackappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-clogger.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-configurator.Plo @@ -4171,6 +4227,8 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache + -rm -f $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-catch_amalgamated.Plo + -rm -f $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplus_la-catch_amalgamated.Plo -rm -f ./$(DEPDIR)/_log4cplusU_la-python_wrapU.Plo -rm -f ./$(DEPDIR)/_log4cplus_la-python_wrap.Plo -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappenderU_la-qt4debugappender.Plo @@ -4182,6 +4240,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-appender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-appenderattachableimpl.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-asyncappender.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-boost_tests.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-callbackappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-clogger.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-configurator.Plo @@ -4237,6 +4296,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-appender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-appenderattachableimpl.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-asyncappender.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-boost_tests.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-callbackappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-clogger.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-configurator.Plo diff --git a/catch b/catch index 182c910b4..4e8d92bf0 160000 --- a/catch +++ b/catch @@ -1 +1 @@ -Subproject commit 182c910b4b63ff587a3440e08f84f70497e49a81 +Subproject commit 4e8d92bf02f7d1c8006a0e7a5ecabd8e62d98502 diff --git a/configure b/configure index d542d2187..e9f19e2bd 100755 --- a/configure +++ b/configure @@ -732,6 +732,8 @@ CXXDEPMODE ac_ct_CXX CXXFLAGS CXX +ENABLE_UNIT_TESTS_FALSE +ENABLE_UNIT_TESTS_TRUE ENABLE_TESTS_FALSE ENABLE_TESTS_TRUE BUILD_WITH_WCHAR_T_SUPPORT @@ -5726,6 +5728,14 @@ else case e in #( esac fi + if test "x$enable_unit_tests" = "xyes"; then + ENABLE_UNIT_TESTS_TRUE= + ENABLE_UNIT_TESTS_FALSE='#' +else + ENABLE_UNIT_TESTS_TRUE='#' + ENABLE_UNIT_TESTS_FALSE= +fi + if test "x$enable_unit_tests" = "xyes" then : @@ -28860,6 +28870,10 @@ if test -z "${ENABLE_TESTS_TRUE}" && test -z "${ENABLE_TESTS_FALSE}"; then as_fn_error $? "conditional \"ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_UNIT_TESTS_TRUE}" && test -z "${ENABLE_UNIT_TESTS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_UNIT_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index 6428bcab3..14029f898 100644 --- a/configure.ac +++ b/configure.ac @@ -156,6 +156,8 @@ dnl Enable unit tests LOG4CPLUS_ARG_ENABLE([unit-tests], [Enable unit tests [default=no]], [enable_unit_tests=no]) +AM_CONDITIONAL([ENABLE_UNIT_TESTS], + [test "x$enable_unit_tests" = "xyes"]) LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_WITH_UNIT_TESTS], [Defined to enable unit tests.], diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index b611f3d59..6e2086f5d 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,7 +1,6 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.16j -#export AUTOMAKE_SUFFIX=-1.16.5 +export AUTOMAKE_SUFFIX=-1.16.5 export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.4.7 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 36812a0f1..68ae0b36f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -66,6 +66,17 @@ elseif (WIN32) #set (log4cplus_postfix "${log4cplus_postfix}S") endif () +find_package (Boost + COMPONENTS iostreams) +if (Boost_FOUND) + set (log4cplus_sources ${log4cplus_sources} + boost_tests.cxx + ${CMAKE_CURRENT_SOURCE_DIR}/catch/extras/catch_amalgamated.cpp + ) + set (unit_tests_libs ${log4cplus_sources} + Boost::iostreams) +endif (Boost_FOUND) + # Define _GNU_SOURCE so that functions like `pipe2()` are visible. add_compile_definitions (_GNU_SOURCE=1) if (WIN32) diff --git a/src/Makefile.am b/src/Makefile.am index 9800515dc..bf48d4d3b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,6 @@ lib_LTLIBRARIES = liblog4cplus.la -SINGLE_THREADED_SRC = \ +LIB_SRC = \ %D%/appenderattachableimpl.cxx \ %D%/appender.cxx \ %D%/asyncappender.cxx \ @@ -56,8 +56,11 @@ SINGLE_THREADED_SRC = \ %D%/version.cxx \ %D%/win32consoleappender.cxx \ %D%/win32debugappender.cxx - -LIB_SRC = $(SINGLE_THREADED_SRC) +if ENABLE_UNIT_TESTS +LIB_SRC+= \ + %D%/boost_tests.cxx \ + $(top_srcdir)/catch/extras/catch_amalgamated.cpp +endif common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS liblog4cplus_la_CPPFLAGS = $(common_liblog4cplus_la_cppflags) diff --git a/tests/unit_tests/boost_tests.cxx b/src/boost_tests.cxx similarity index 99% rename from tests/unit_tests/boost_tests.cxx rename to src/boost_tests.cxx index 2740f18b6..508fb81a0 100644 --- a/tests/unit_tests/boost_tests.cxx +++ b/src/boost_tests.cxx @@ -29,7 +29,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include namespace log4cplus diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 4b416a24b..7c759508e 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -46,7 +46,7 @@ #endif #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/filter.cxx b/src/filter.cxx index fae02add5..d2f84da95 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -29,7 +29,7 @@ #include #include #include -#include +#include #endif diff --git a/src/global-init.cxx b/src/global-init.cxx index ff3324046..fb1e100f6 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -24,7 +24,7 @@ // Include full Windows.h early for Catch. # include # define CATCH_CONFIG_RUNNER -# include +# include #endif #include diff --git a/src/loggingmacros.cxx b/src/loggingmacros.cxx index 164308823..b2b1483be 100644 --- a/src/loggingmacros.cxx +++ b/src/loggingmacros.cxx @@ -25,7 +25,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/mdc.cxx b/src/mdc.cxx index fc4336d6c..729ca5001 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -28,7 +28,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/ndc.cxx b/src/ndc.cxx index f9e33d3da..fcf621764 100644 --- a/src/ndc.cxx +++ b/src/ndc.cxx @@ -24,7 +24,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index 55ba03df3..b0a4ec68f 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -23,7 +23,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif namespace log4cplus::spi { diff --git a/src/property.cxx b/src/property.cxx index 30ea7670c..fa8e3ed14 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -47,7 +47,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/snprintf.cxx b/src/snprintf.cxx index 3cc2cbf60..c0f2ac58c 100644 --- a/src/snprintf.cxx +++ b/src/snprintf.cxx @@ -40,7 +40,7 @@ #endif #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/socket.cxx b/src/socket.cxx index 381ad88be..82e5f5080 100644 --- a/src/socket.cxx +++ b/src/socket.cxx @@ -23,7 +23,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif namespace log4cplus::helpers { diff --git a/src/socketbuffer.cxx b/src/socketbuffer.cxx index b0b941ebe..30e4a1aad 100644 --- a/src/socketbuffer.cxx +++ b/src/socketbuffer.cxx @@ -38,7 +38,7 @@ #endif #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #endif diff --git a/src/stringhelper.cxx b/src/stringhelper.cxx index 2277fff07..3a601a8bc 100644 --- a/src/stringhelper.cxx +++ b/src/stringhelper.cxx @@ -31,7 +31,7 @@ #include #if defined (LOG4CPLUS_WITH_UNIT_TESTS) -#include +#include #include #endif diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt index e40cbddfb..ddf56c891 100644 --- a/tests/unit_tests/CMakeLists.txt +++ b/tests/unit_tests/CMakeLists.txt @@ -1,14 +1,6 @@ set (unit_tests_sources unit_tests.cxx) set (unit_tests_libs ${log4cplus}) -find_package (Boost - COMPONENTS iostreams) -if (Boost_FOUND) - set (unit_tests_sources ${unit_tests_sources} - boost_tests.cxx) - set (unit_tests_libs ${unit_tests_libs} - Boost::iostreams) -endif (Boost_FOUND) add_executable (unit_tests ${unit_tests_sources}) target_link_libraries (unit_tests PUBLIC ${unit_tests_libs}) From 04dee7205455692036425dc49ad5336f60889480 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 13:58:34 +0200 Subject: [PATCH 276/353] Try fixing GitHub actions by using GCC 14. --- .github/workflows/c-cpp.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 0ef97148b..6a363ca93 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -11,11 +11,11 @@ jobs: strategy: matrix: config: - - os: 'ubuntu-latest' - cc: 'gcc-13' - cxx: 'g++-13' - prereq: | - sudo apt install libstdc++-13-dev g++-13 gcc-13 + - os: 'ubuntu-24.04' + cc: 'gcc-14' + cxx: 'g++-14' + # prereq: | + # sudo apt install libstdc++-14-dev g++-14 gcc-14 #- os: 'macos-14' # cc: 'clang' # cxx: 'clang++' From 11e08fd9d7b9e53b3358ee189312f1bcf9e178aa Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 14:03:58 +0200 Subject: [PATCH 277/353] Re-enable Mac OS X 14 build. --- .github/workflows/c-cpp.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 6a363ca93..06636c369 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,11 +16,11 @@ jobs: cxx: 'g++-14' # prereq: | # sudo apt install libstdc++-14-dev g++-14 gcc-14 - #- os: 'macos-14' - # cc: 'clang' - # cxx: 'clang++' - # prereq: | - # sudo xcode-select -s '/Applications/Xcode_15.2.app/Contents/Developer' + - os: 'macos-14' + cc: 'clang' + cxx: 'clang++' + prereq: | + sudo xcode-select -s '/Applications/Xcode_15.4.app/Contents/Developer' runs-on: ${{ matrix.config.os }} From 8b302f6b68490dd028414f578c86eafc4e78a80f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 14:06:27 +0200 Subject: [PATCH 278/353] Try installing libboost-iostreams-dev on Ubuntu. --- .github/workflows/c-cpp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 06636c369..494eb8852 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -14,8 +14,8 @@ jobs: - os: 'ubuntu-24.04' cc: 'gcc-14' cxx: 'g++-14' - # prereq: | - # sudo apt install libstdc++-14-dev g++-14 gcc-14 + prereq: | + sudo apt install libboost-iostreams-dev - os: 'macos-14' cc: 'clang' cxx: 'clang++' From 5f256b4faebcb9ff3d7abb46ad775d344fa40128 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 14:12:42 +0200 Subject: [PATCH 279/353] Revert "Re-enable Mac OS X 14 build." This reverts commit 11e08fd9d7b9e53b3358ee189312f1bcf9e178aa. --- .github/workflows/c-cpp.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 494eb8852..3ef326cbd 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,11 +16,12 @@ jobs: cxx: 'g++-14' prereq: | sudo apt install libboost-iostreams-dev - - os: 'macos-14' - cc: 'clang' - cxx: 'clang++' - prereq: | - sudo xcode-select -s '/Applications/Xcode_15.4.app/Contents/Developer' + ### Mac OS X does not have Boost installed. + #- os: 'macos-14' + # cc: 'clang' + # cxx: 'clang++' + # prereq: | + # sudo xcode-select -s '/Applications/Xcode_15.4.app/Contents/Developer' runs-on: ${{ matrix.config.os }} From b415d67dbd84f19c554301daba10a179779be3f1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 15:15:31 +0200 Subject: [PATCH 280/353] Fix CMake build with new Catch2. Disable Boost search. --- CMakeLists.txt | 3 +++ src/CMakeLists.txt | 21 ++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 029d0abbc..784c10d6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,11 @@ endif () set (CMAKE_LEGACY_CYGWIN_WIN32 0) cmake_minimum_required (VERSION 3.12) + project (log4cplus) +cmake_policy(SET CMP0167 NEW) + # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 68ae0b36f..a6b99e67c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -66,16 +66,19 @@ elseif (WIN32) #set (log4cplus_postfix "${log4cplus_postfix}S") endif () -find_package (Boost - COMPONENTS iostreams) -if (Boost_FOUND) +if (WITH_UNIT_TESTS) set (log4cplus_sources ${log4cplus_sources} - boost_tests.cxx - ${CMAKE_CURRENT_SOURCE_DIR}/catch/extras/catch_amalgamated.cpp - ) - set (unit_tests_libs ${log4cplus_sources} - Boost::iostreams) -endif (Boost_FOUND) + ${CMAKE_CURRENT_SOURCE_DIR}/../catch/extras/catch_amalgamated.cpp) + # find_package (Boost + # COMPONENTS iostreams) + # if (Boost_FOUND) + # set (log4cplus_sources ${log4cplus_sources} + # boost_tests.cxx + # ) + # set (unit_tests_libs ${log4cplus_sources} + # Boost::iostreams) + # endif (Boost_FOUND) +endif (WITH_UNIT_TESTS) # Define _GNU_SOURCE so that functions like `pipe2()` are visible. add_compile_definitions (_GNU_SOURCE=1) From 64b854afa6a17bef7f0eb4847e846e942e90f9ff Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 15:20:34 +0200 Subject: [PATCH 281/353] Try fixing Android test builds. --- .github/workflows/android.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 77f4d6956..47a8a43c3 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -2,9 +2,9 @@ name: cross compile with android-ndk on: push: - branches: [ 2.0.x, master ] + branches: [ 2.0.x, 2.1.x, master ] pull_request: - branches: [ 2.0.x, master ] + branches: [ 2.0.x, 2.1.x, master ] jobs: cross-compile: @@ -13,10 +13,10 @@ jobs: matrix: target-abi: [armeabi-v7a, arm64-v8a, x86, x86_64] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive From 83357f5a43837abdd25ee825d4141e1c42e5432d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 15:24:38 +0200 Subject: [PATCH 282/353] Guard CMake policy CMP0167 for CMake >= 3.30.0. --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 784c10d6e..e20e0e3e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,9 @@ cmake_minimum_required (VERSION 3.12) project (log4cplus) -cmake_policy(SET CMP0167 NEW) +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.30.0") + cmake_policy(SET CMP0167 NEW) +endif () # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) From c2588c66578b783f1b1701286243835464ccc3c9 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 18:48:25 +0200 Subject: [PATCH 283/353] Define NOMINMAX in Windows when unit tests are built. --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e20e0e3e8..5c0bb1d1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,7 +118,8 @@ if (WITH_UNIT_TESTS) set (LOG4CPLUS_WITH_UNIT_TESTS 1) add_compile_definitions (CATCH_CONFIG_PREFIX_ALL=1) if (WIN32) - add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1) + add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1 + NOMINMAX=1) endif (WIN32) endif (WITH_UNIT_TESTS) From 31942b9d1f801b89d064c46013f83baa05dc8e1a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 6 Jul 2024 19:52:46 +0200 Subject: [PATCH 284/353] Adding /Zc:hiddenFriend- compiler flag to workaround Catch2 complation issue with Visual Studio 2019. --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c0bb1d1b..b6cc41e68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,6 +120,10 @@ if (WITH_UNIT_TESTS) if (WIN32) add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1 NOMINMAX=1) + if (MSVC AND MSVC_TOOLSET_VERSION VERSION_LESS "143") + message (WARNING "Adding /Zc:hiddenFriend- compiler flag to workaround Catch2 complation issue with Visual Studio 2019") + add_compile_options (/Zc:hiddenFriend-) + endif () endif (WIN32) endif (WITH_UNIT_TESTS) From 0f7116a03e471483e3ce6d0772caae9a021eb02a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 13 Jul 2024 11:24:52 +0200 Subject: [PATCH 285/353] Add Doxygen comments to logging macros. --- include/log4cplus/loggingmacros.h | 133 ++++++++++++++++++++++++------ 1 file changed, 108 insertions(+), 25 deletions(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index 2bb307b12..b5826ea70 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -280,6 +280,12 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() +/** + * \internal + * This is the implementation of `LOG4CPLUS_*_FORMAT()` macros. + * \endinternal + * + */ #define LOG4CPLUS_MACRO_FORMAT_BODY(logger, logLevel, logFormat, ...) \ LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ do { \ @@ -329,18 +335,35 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #endif -/** - * @def LOG4CPLUS_DEBUG(logger, logEvent) This macro is used to log a - * DEBUG_LOG_LEVEL message to logger. - * logEvent will be streamed into an ostream. - */ #if !defined(LOG4CPLUS_DISABLE_DEBUG) +//! +//! This macro is used to log a `log4cplus::DEBUG_LOG_LEVEL` message to `logger`. +//! `logEvent` will be streamed into an `std::ostream`. +//! #define LOG4CPLUS_DEBUG(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, DEBUG_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_DEBUG(logger, logEvent) +//! +//! `logEvent` is expected to be either a string literal or string-like object. +//! #define LOG4CPLUS_DEBUG_STR(logger, logEvent) \ LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, DEBUG_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_DEBUG(logger, logEvent) +//! +//! The first parameter after the `logger` parameter is treated as `printf` format string. +//! The rest of the parameters after that are treated as `printf` format arguments. +//! #define LOG4CPLUS_DEBUG_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, DEBUG_LOG_LEVEL, __VA_ARGS__) +//! +//! \copybrief LOG4CPLUS_DEBUG(logger, logEvent) +//! +//! The first parameter after the `logger` parameter is treated as the `std::format` format string. +//! The rest of the parameters are treated as arguments for the `std::format` format string. +//! \since 3.0.0 +//! #define LOG4CPLUS_DEBUG_FORMAT(logger, ...) \ LOG4CPLUS_MACRO_FORMAT_BODY(logger, DEBUG_LOG_LEVEL, __VA_ARGS__) @@ -352,18 +375,33 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #endif -/** - * @def LOG4CPLUS_INFO(logger, logEvent) This macro is used to log a - * INFO_LOG_LEVEL message to logger. - * logEvent will be streamed into an ostream. - */ #if !defined(LOG4CPLUS_DISABLE_INFO) +//! +//! This macro is used to log a `log4cplus::INFO_LOG_LEVEL` message to `logger`. +//! +//! \copydetails LOG4CPLUS_DEBUG(logger, logEvent) +//! #define LOG4CPLUS_INFO(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, INFO_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_INFO(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_STR(logger, logEvent) +//! #define LOG4CPLUS_INFO_STR(logger, logEvent) \ LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, INFO_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_INFO(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FMT(logger, ...) +//! #define LOG4CPLUS_INFO_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, INFO_LOG_LEVEL, __VA_ARGS__) +//! +//! \copybrief LOG4CPLUS_INFO(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FORMAT(logger, ...) +//! #define LOG4CPLUS_INFO_FORMAT(logger, ...) \ LOG4CPLUS_MACRO_FORMAT_BODY(logger, INFO_LOG_LEVEL, __VA_ARGS__) @@ -375,18 +413,33 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #endif -/** - * @def LOG4CPLUS_WARN(logger, logEvent) This macro is used to log a - * WARN_LOG_LEVEL message to logger. - * logEvent will be streamed into an ostream. - */ #if !defined(LOG4CPLUS_DISABLE_WARN) +//! +//! This macro is used to log a `log4cplus::WARN_LOG_LEVEL` message to `logger`. +//! +//! \copydetails LOG4CPLUS_DEBUG(logger, logEvent) +//! #define LOG4CPLUS_WARN(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, WARN_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_WARN(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_STR(logger, logEvent) +//! #define LOG4CPLUS_WARN_STR(logger, logEvent) \ LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, WARN_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_WARN(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FMT(logger, ...) +//! #define LOG4CPLUS_WARN_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, WARN_LOG_LEVEL, __VA_ARGS__) +//! +//! \copybrief LOG4CPLUS_WARN(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FORMAT(logger, ...) +//! #define LOG4CPLUS_WARN_FORMAT(logger, ...) \ LOG4CPLUS_MACRO_FORMAT_BODY(logger, WARN_LOG_LEVEL, __VA_ARGS__) @@ -398,18 +451,33 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #endif -/** - * @def LOG4CPLUS_ERROR(logger, logEvent) This macro is used to log a - * ERROR_LOG_LEVEL message to logger. - * logEvent will be streamed into an ostream. - */ #if !defined(LOG4CPLUS_DISABLE_ERROR) +//! +//! This macro is used to log a `log4cplus::ERROR_LOG_LEVEL` message to `logger`. +//! +//! \copydetails LOG4CPLUS_DEBUG(logger, logEvent) +//! #define LOG4CPLUS_ERROR(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, ERROR_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_ERROR(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_STR(logger, logEvent) +//! #define LOG4CPLUS_ERROR_STR(logger, logEvent) \ LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, ERROR_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_ERROR(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FMT(logger, ...) +//! #define LOG4CPLUS_ERROR_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, ERROR_LOG_LEVEL, __VA_ARGS__) +//! +//! \copybrief LOG4CPLUS_ERROR(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FORMAT(logger, ...) +//! #define LOG4CPLUS_ERROR_FORMAT(logger, ...) \ LOG4CPLUS_MACRO_FORMAT_BODY(logger, ERROR_LOG_LEVEL, __VA_ARGS__) @@ -421,18 +489,33 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, #endif -/** - * @def LOG4CPLUS_FATAL(logger, logEvent) This macro is used to log a - * FATAL_LOG_LEVEL message to logger. - * logEvent will be streamed into an ostream. - */ #if !defined(LOG4CPLUS_DISABLE_FATAL) +//! +//! This macro is used to log a `log4cplus::FATAL_LOG_LEVEL` message to `logger`. +//! +//! \copydetails LOG4CPLUS_DEBUG(logger, logEvent) +//! #define LOG4CPLUS_FATAL(logger, logEvent) \ LOG4CPLUS_MACRO_BODY (logger, logEvent, FATAL_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_FATAL(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_STR(logger, logEvent) +//! #define LOG4CPLUS_FATAL_STR(logger, logEvent) \ LOG4CPLUS_MACRO_STR_BODY (logger, logEvent, FATAL_LOG_LEVEL) +//! +//! \copybrief LOG4CPLUS_FATAL(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FMT(logger, ...) +//! #define LOG4CPLUS_FATAL_FMT(logger, ...) \ LOG4CPLUS_MACRO_FMT_BODY (logger, FATAL_LOG_LEVEL, __VA_ARGS__) +//! +//! \copybrief LOG4CPLUS_FATAL(logger, logEvent) +//! +//! \copydetails LOG4CPLUS_DEBUG_FORMAT(logger, ...) +//! #define LOG4CPLUS_FATAL_FORMAT(logger, ...) \ LOG4CPLUS_MACRO_FORMAT_BODY(logger, FATAL_LOG_LEVEL, __VA_ARGS__) From b2356fc697dfb26f25e0dedb2c260810cac41e99 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 13 Jul 2024 11:25:36 +0200 Subject: [PATCH 286/353] doxygen.config: Update to 1.9.8. --- docs/doxygen.config | 965 ++++++++++++++++++++++++++++++-------------- 1 file changed, 664 insertions(+), 301 deletions(-) diff --git a/docs/doxygen.config b/docs/doxygen.config index 7ea9c4dc4..86a959d31 100644 --- a/docs/doxygen.config +++ b/docs/doxygen.config @@ -1,4 +1,4 @@ -# Doxyfile 1.8.13 +# Doxyfile 1.9.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -12,16 +12,26 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -60,16 +70,28 @@ PROJECT_LOGO = log4cplus.svg OUTPUT_DIRECTORY = log4cplus-3.0.0/docs -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# number of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode @@ -81,14 +103,14 @@ ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English @@ -189,6 +211,16 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus @@ -209,6 +241,14 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. @@ -232,20 +272,19 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -274,28 +313,40 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -307,11 +358,22 @@ MARKDOWN_SUPPORT = YES # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 0. +# Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 0 +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = DOXYGEN + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or @@ -337,7 +399,7 @@ BUILTIN_STL_SUPPORT = YES CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -423,6 +485,27 @@ TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = YES + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -443,6 +526,12 @@ EXTRACT_ALL = YES EXTRACT_PRIVATE = NO +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. @@ -480,6 +569,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -491,14 +587,15 @@ HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = YES # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO @@ -517,12 +614,20 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. CASE_SENSE_NAMES = YES @@ -540,6 +645,12 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -697,7 +808,8 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -708,7 +820,7 @@ LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. @@ -743,23 +855,50 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about +# undocumented enumeration values. If set to NO, doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = NO @@ -770,13 +909,27 @@ WARN_AS_ERROR = NO # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -795,12 +948,23 @@ INPUT = ../include/log4cplus/ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING) if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding +# "INPUT_ENCODING" for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. @@ -809,11 +973,15 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, +# *.cpp, *.cppm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, +# *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, *.php, +# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be +# provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.h \ *.hxx @@ -853,10 +1021,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* +# ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -901,6 +1066,11 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # +# Note that doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. @@ -942,6 +1112,15 @@ FILTER_SOURCE_PATTERNS = USE_MDFILE_AS_MAINPAGE = +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. + +FORTRAN_COMMENT_AFTER = 72 + #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- @@ -969,7 +1148,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = YES @@ -1001,12 +1180,12 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -1029,16 +1208,24 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. +# clang parser (see: +# http://clang.llvm.org/) for more accurate parsing at the cost of reduced +# performance. This can be particularly helpful with template rich C++ code for +# which doxygen's built-in parser lacks the necessary type information. # Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse-libclang=ON option for CMake. +# generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then doxygen will add the directory of each input to the +# include path. +# The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_ADD_INC_PATHS = YES + # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories @@ -1047,6 +1234,19 @@ CLANG_ASSISTED_PARSING = NO CLANG_OPTIONS = +# If clang assisted parsing is enabled you can provide the clang parser with the +# path to the directory containing a file called compile_commands.json. This +# file is the compilation database (see: +# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the +# options used when the source files were built. This is equivalent to +# specifying the -p option to a clang tool, such as clang-check. These options +# will then be passed to the parser. Any options specified with CLANG_OPTIONS +# will be added as well. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse_libclang=ON option for CMake. + +CLANG_DATABASE_PATH = + #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -1058,17 +1258,11 @@ CLANG_OPTIONS = ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 1 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1147,7 +1341,12 @@ HTML_STYLESHEET = # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1162,10 +1361,23 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generate light mode output, DARK always +# generate dark mode output, AUTO_LIGHT automatically set the mode according to +# the user preference, use light mode if no preference is set (the default), +# AUTO_DARK automatically set the mode according to the user preference, use +# dark mode if no preference is set and TOGGLE allow to user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = AUTO_LIGHT + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# this color. Hue is specified as an angle on a color-wheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1174,7 +1386,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1192,14 +1404,16 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_TIMESTAMP = YES +HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -1209,6 +1423,13 @@ HTML_TIMESTAMP = YES HTML_DYNAMIC_SECTIONS = NO +# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be +# dynamically folded and expanded in the generated HTML source code. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_CODE_FOLDING = YES + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to @@ -1224,13 +1445,14 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1244,6 +1466,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1269,8 +1498,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1300,7 +1533,7 @@ CHM_FILE = HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1327,6 +1560,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1345,7 +1588,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1353,8 +1597,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1362,30 +1606,30 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1428,16 +1672,28 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1462,6 +1718,24 @@ TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO +# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML @@ -1471,19 +1745,14 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. -FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1493,11 +1762,29 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1510,22 +1797,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://www.mathjax.org/mathjax # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1553,7 +1847,7 @@ MATHJAX_CODEFILE = SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. There +# implemented using a web server instead of a web client using JavaScript. There # are two flavors of web server based searching depending on the EXTERNAL_SEARCH # setting. When disabled, doxygen will generate a PHP script for searching and # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing @@ -1572,7 +1866,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1585,8 +1880,9 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1637,21 +1933,35 @@ LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. In case there is no backslash (\) as first character +# it will be automatically added in the LaTeX code. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = makeindex + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. @@ -1681,29 +1991,31 @@ PAPER_TYPE = a4wide EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = @@ -1736,18 +2048,26 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES, to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1760,31 +2080,21 @@ LATEX_BATCHMODE = YES LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_TIMESTAMP = NO +LATEX_EMOJI_DIRECTORY = #--------------------------------------------------------------------------- # Configuration options related to the RTF output @@ -1825,9 +2135,9 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. @@ -1836,22 +2146,12 @@ RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -1923,6 +2223,13 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- @@ -1941,27 +2248,44 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sf.net) file that captures the -# structure of the code including all documentation. Note that this feature is -# still experimental and incomplete at the moment. +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + +# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 +# database with symbols found by doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each doxygen run. If set to NO, doxygen +# will warn if an a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -2036,7 +2360,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -2107,15 +2432,15 @@ TAGFILES = GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES, all external class will be listed in -# the class index. If set to NO, only the inherited external classes will be -# listed. +# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces +# will be listed in the class and namespace index. If set to NO, only the +# inherited external classes will be listed. # The default value is: NO. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will be +# in the topic index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. @@ -2128,41 +2453,10 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of 'which perl'). -# The default file (with absolute path) is: /usr/bin/perl. - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see: -# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. @@ -2171,7 +2465,7 @@ HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: YES. @@ -2188,49 +2482,73 @@ HAVE_DOT = YES DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = "'Souce Sans Pro', Roboto, FreeSans, sans-serif" +DOT_COMMON_ATTR = "fontname=\"'Souce Sans Pro', Roboto, FreeSans, sans-serif\",fontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_EDGE_ATTR = "labelfontname=\"'Souce Sans Pro', Roboto, FreeSans, sans-serif\",labelfontsize=10" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. # This tag requires that the tag HAVE_DOT is set to YES. DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation # dependencies (inheritance, containment, and class references variables) of the -# class with other documented classes. +# class with other documented classes. Explicit enabling a collaboration graph, +# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the +# command \collaborationgraph. Disabling a collaboration graph can be +# accomplished by means of the command \hidecollaborationgraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# groups, showing the direct groups dependencies. Explicit enabling a group +# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means +# of the command \groupgraph. Disabling a directory graph can be accomplished by +# means of the command \hidegroupgraph. See also the chapter Grouping in the +# manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2253,10 +2571,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2268,7 +2608,9 @@ TEMPLATE_RELATIONS = YES # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to # YES then doxygen will generate a graph for each documented file showing the # direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, +# can be accomplished by means of the command \includegraph. Disabling an +# include graph can be accomplished by means of the command \hideincludegraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2277,7 +2619,10 @@ INCLUDE_GRAPH = YES # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set +# to NO, can be accomplished by means of the command \includedbygraph. Disabling +# an included by graph can be accomplished by means of the command +# \hideincludedbygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2317,23 +2662,32 @@ GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The # dependency relations are determined by the #include relations between the -# files in the directories. +# files in the directories. Explicit enabling a directory graph, when +# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command +# \directorygraph. Disabling a directory graph can be accomplished by means of +# the command \hidedirectorygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: -# http://www.graphviz.org/)). +# https://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, -# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, -# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, -# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# Possible values are: png, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, +# gif, gif:cairo, gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, +# png:cairo, png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and # png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2365,11 +2719,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2378,10 +2733,10 @@ MSCFILE_DIRS = DIAFILE_DIRS = # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. PLANTUML_JAR_PATH = @@ -2419,18 +2774,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 1000 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2443,14 +2786,34 @@ DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = From c6bb1f1e0d7c08412cc5f7b22d681f4f79ab26b2 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 13 Jul 2024 11:25:55 +0200 Subject: [PATCH 287/353] Fix READEM.md.pdf build. --- docs/latex-header.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/latex-header.tex b/docs/latex-header.tex index 2c421a3fe..cad802de6 100644 --- a/docs/latex-header.tex +++ b/docs/latex-header.tex @@ -49,7 +49,7 @@ %\date{\today} -\urlstyle{same} +%\urlstyle{same} \AtBeginEnvironment{quote}{\slshape} From 51eff2ce57a357e20480e446b9e1a75fe0503bf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sun, 14 Jul 2024 18:01:12 +0200 Subject: [PATCH 288/353] Update actions in codeql.yml. --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 130f3e9e9..f61be6688 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -60,7 +60,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -73,6 +73,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" From e2c7a06cbb4bd6f2afea89462a58e2115cd96ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sun, 14 Jul 2024 18:06:47 +0200 Subject: [PATCH 289/353] Add Dependabot checks. --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..dfd0e3086 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +# Set update schedule for GitHub Actions + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every week + interval: "weekly" From e5899c7cb872a801d2554b078a9bf4e4e120e8cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 14 Jul 2024 16:07:31 +0000 Subject: [PATCH 290/353] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f61be6688..786c71899 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive From 13efb756bae954ddbf9b3ff6d9b6159820693133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Sun, 14 Jul 2024 18:11:28 +0200 Subject: [PATCH 291/353] codeql.yml: Use Ubuntu 24.04. --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 786c71899..95057ee17 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -23,7 +23,7 @@ on: jobs: analyze: name: Analyze - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-24.04' }} permissions: actions: read contents: read From 29eac93ab76627f3a4a59c9cc873518841104c00 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 18 Jul 2024 20:20:59 +0200 Subject: [PATCH 292/353] Regenerate with Automake 1.17. --- Makefile.in | 182 ++++++++++++++++++------------------- aclocal.m4 | 197 +++++++++++++++++++++++++++++----------- ar-lib | 10 +- compile | 6 +- config.guess | 11 ++- config.sub | 29 ++++-- configure | 128 +++++++++++++++++++++----- depcomp | 8 +- include/Makefile.in | 4 +- install-sh | 8 +- missing | 10 +- mkinstalldirs | 4 +- py-compile | 6 +- scripts/doautoreconf.sh | 2 +- 14 files changed, 401 insertions(+), 204 deletions(-) diff --git a/Makefile.in b/Makefile.in index 1e9c0b04c..7ce8ee423 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16j from Makefile.am. +# Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2023 Free Software Foundation, Inc. +# Copyright (C) 1994-2024 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1727,10 +1727,10 @@ _log4cplusU.la: $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_DEPENDENCIES) $(EXTRA $(AM_V_CXXLD)$(_log4cplusU_la_LINK) $(am__log4cplusU_la_rpath) $(_log4cplusU_la_OBJECTS) $(_log4cplusU_la_LIBADD) $(LIBS) src/$(am__dirstamp): @$(MKDIR_P) src - @: > src/$(am__dirstamp) + @: >>src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) - @: > src/$(DEPDIR)/$(am__dirstamp) + @: >>src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appenderattachableimpl.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-appender.lo: src/$(am__dirstamp) \ @@ -1845,10 +1845,10 @@ src/liblog4cplus_la-boost_tests.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) $(top_builddir)/catch/extras/$(am__dirstamp): @$(MKDIR_P) $(top_builddir)/catch/extras - @: > $(top_builddir)/catch/extras/$(am__dirstamp) + @: >>$(top_builddir)/catch/extras/$(am__dirstamp) $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) $(top_builddir)/catch/extras/$(DEPDIR) - @: > $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) + @: >>$(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) $(top_builddir)/catch/extras/liblog4cplus_la-catch_amalgamated.lo: \ $(top_builddir)/catch/extras/$(am__dirstamp) \ $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) @@ -1975,10 +1975,10 @@ liblog4cplusU.la: $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_DEPENDENCIES) $ $(AM_V_CXXLD)$(liblog4cplusU_la_LINK) $(am_liblog4cplusU_la_rpath) $(liblog4cplusU_la_OBJECTS) $(liblog4cplusU_la_LIBADD) $(LIBS) qt4debugappender/$(am__dirstamp): @$(MKDIR_P) qt4debugappender - @: > qt4debugappender/$(am__dirstamp) + @: >>qt4debugappender/$(am__dirstamp) qt4debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt4debugappender/$(DEPDIR) - @: > qt4debugappender/$(DEPDIR)/$(am__dirstamp) + @: >>qt4debugappender/$(DEPDIR)/$(am__dirstamp) qt4debugappender/liblog4cplusqt4debugappender_la-qt4debugappender.lo: \ qt4debugappender/$(am__dirstamp) \ qt4debugappender/$(DEPDIR)/$(am__dirstamp) @@ -1993,10 +1993,10 @@ liblog4cplusqt4debugappenderU.la: $(liblog4cplusqt4debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt4debugappenderU_la_LINK) $(am_liblog4cplusqt4debugappenderU_la_rpath) $(liblog4cplusqt4debugappenderU_la_OBJECTS) $(liblog4cplusqt4debugappenderU_la_LIBADD) $(LIBS) qt5debugappender/$(am__dirstamp): @$(MKDIR_P) qt5debugappender - @: > qt5debugappender/$(am__dirstamp) + @: >>qt5debugappender/$(am__dirstamp) qt5debugappender/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) qt5debugappender/$(DEPDIR) - @: > qt5debugappender/$(DEPDIR)/$(am__dirstamp) + @: >>qt5debugappender/$(DEPDIR)/$(am__dirstamp) qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo: \ qt5debugappender/$(am__dirstamp) \ qt5debugappender/$(DEPDIR)/$(am__dirstamp) @@ -2011,10 +2011,10 @@ liblog4cplusqt5debugappenderU.la: $(liblog4cplusqt5debugappenderU_la_OBJECTS) $( $(AM_V_CXXLD)$(liblog4cplusqt5debugappenderU_la_LINK) $(am_liblog4cplusqt5debugappenderU_la_rpath) $(liblog4cplusqt5debugappenderU_la_OBJECTS) $(liblog4cplusqt5debugappenderU_la_LIBADD) $(LIBS) tests/appender_test/$(am__dirstamp): @$(MKDIR_P) tests/appender_test - @: > tests/appender_test/$(am__dirstamp) + @: >>tests/appender_test/$(am__dirstamp) tests/appender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/appender_test/$(DEPDIR) - @: > tests/appender_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/appender_test/$(DEPDIR)/$(am__dirstamp) tests/appender_test/main.$(OBJEXT): \ tests/appender_test/$(am__dirstamp) \ tests/appender_test/$(DEPDIR)/$(am__dirstamp) @@ -2031,10 +2031,10 @@ appender_testU$(EXEEXT): $(appender_testU_OBJECTS) $(appender_testU_DEPENDENCIES $(AM_V_CXXLD)$(appender_testU_LINK) $(appender_testU_OBJECTS) $(appender_testU_LDADD) $(LIBS) tests/configandwatch_test/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test - @: > tests/configandwatch_test/$(am__dirstamp) + @: >>tests/configandwatch_test/$(am__dirstamp) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test/$(DEPDIR) - @: > tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) tests/configandwatch_test/main.$(OBJEXT): \ tests/configandwatch_test/$(am__dirstamp) \ tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) @@ -2051,10 +2051,10 @@ configandwatch_testU$(EXEEXT): $(configandwatch_testU_OBJECTS) $(configandwatch_ $(AM_V_CXXLD)$(configandwatch_testU_LINK) $(configandwatch_testU_OBJECTS) $(configandwatch_testU_LDADD) $(LIBS) tests/customloglevel_test/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test - @: > tests/customloglevel_test/$(am__dirstamp) + @: >>tests/customloglevel_test/$(am__dirstamp) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test/$(DEPDIR) - @: > tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) tests/customloglevel_test/func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2077,10 +2077,10 @@ customloglevel_testU$(EXEEXT): $(customloglevel_testU_OBJECTS) $(customloglevel_ $(AM_V_CXXLD)$(customloglevel_testU_LINK) $(customloglevel_testU_OBJECTS) $(customloglevel_testU_LDADD) $(LIBS) tests/fileappender_test/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test - @: > tests/fileappender_test/$(am__dirstamp) + @: >>tests/fileappender_test/$(am__dirstamp) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test/$(DEPDIR) - @: > tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) tests/fileappender_test/main.$(OBJEXT): \ tests/fileappender_test/$(am__dirstamp) \ tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) @@ -2097,10 +2097,10 @@ fileappender_testU$(EXEEXT): $(fileappender_testU_OBJECTS) $(fileappender_testU_ $(AM_V_CXXLD)$(fileappender_testU_LINK) $(fileappender_testU_OBJECTS) $(fileappender_testU_LDADD) $(LIBS) tests/filter_test/$(am__dirstamp): @$(MKDIR_P) tests/filter_test - @: > tests/filter_test/$(am__dirstamp) + @: >>tests/filter_test/$(am__dirstamp) tests/filter_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/filter_test/$(DEPDIR) - @: > tests/filter_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/filter_test/$(DEPDIR)/$(am__dirstamp) tests/filter_test/main.$(OBJEXT): tests/filter_test/$(am__dirstamp) \ tests/filter_test/$(DEPDIR)/$(am__dirstamp) @@ -2116,10 +2116,10 @@ filter_testU$(EXEEXT): $(filter_testU_OBJECTS) $(filter_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(filter_testU_LINK) $(filter_testU_OBJECTS) $(filter_testU_LDADD) $(LIBS) tests/hierarchy_test/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test - @: > tests/hierarchy_test/$(am__dirstamp) + @: >>tests/hierarchy_test/$(am__dirstamp) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test/$(DEPDIR) - @: > tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) tests/hierarchy_test/main.$(OBJEXT): \ tests/hierarchy_test/$(am__dirstamp) \ tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) @@ -2136,10 +2136,10 @@ hierarchy_testU$(EXEEXT): $(hierarchy_testU_OBJECTS) $(hierarchy_testU_DEPENDENC $(AM_V_CXXLD)$(hierarchy_testU_LINK) $(hierarchy_testU_OBJECTS) $(hierarchy_testU_LDADD) $(LIBS) simpleserver/$(am__dirstamp): @$(MKDIR_P) simpleserver - @: > simpleserver/$(am__dirstamp) + @: >>simpleserver/$(am__dirstamp) simpleserver/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) simpleserver/$(DEPDIR) - @: > simpleserver/$(DEPDIR)/$(am__dirstamp) + @: >>simpleserver/$(DEPDIR)/$(am__dirstamp) simpleserver/loggingserver.$(OBJEXT): simpleserver/$(am__dirstamp) \ simpleserver/$(DEPDIR)/$(am__dirstamp) @@ -2155,10 +2155,10 @@ loggingserverU$(EXEEXT): $(loggingserverU_OBJECTS) $(loggingserverU_DEPENDENCIES $(AM_V_CXXLD)$(CXXLINK) $(loggingserverU_OBJECTS) $(loggingserverU_LDADD) $(LIBS) tests/loglog_test/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test - @: > tests/loglog_test/$(am__dirstamp) + @: >>tests/loglog_test/$(am__dirstamp) tests/loglog_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test/$(DEPDIR) - @: > tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/loglog_test/$(DEPDIR)/$(am__dirstamp) tests/loglog_test/main.$(OBJEXT): tests/loglog_test/$(am__dirstamp) \ tests/loglog_test/$(DEPDIR)/$(am__dirstamp) @@ -2174,10 +2174,10 @@ loglog_testU$(EXEEXT): $(loglog_testU_OBJECTS) $(loglog_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(loglog_testU_LINK) $(loglog_testU_OBJECTS) $(loglog_testU_LDADD) $(LIBS) tests/ndc_test/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test - @: > tests/ndc_test/$(am__dirstamp) + @: >>tests/ndc_test/$(am__dirstamp) tests/ndc_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test/$(DEPDIR) - @: > tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/ndc_test/$(DEPDIR)/$(am__dirstamp) tests/ndc_test/main.$(OBJEXT): tests/ndc_test/$(am__dirstamp) \ tests/ndc_test/$(DEPDIR)/$(am__dirstamp) @@ -2193,10 +2193,10 @@ ndc_testU$(EXEEXT): $(ndc_testU_OBJECTS) $(ndc_testU_DEPENDENCIES) $(EXTRA_ndc_t $(AM_V_CXXLD)$(ndc_testU_LINK) $(ndc_testU_OBJECTS) $(ndc_testU_LDADD) $(LIBS) tests/ostream_test/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test - @: > tests/ostream_test/$(am__dirstamp) + @: >>tests/ostream_test/$(am__dirstamp) tests/ostream_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test/$(DEPDIR) - @: > tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/ostream_test/$(DEPDIR)/$(am__dirstamp) tests/ostream_test/main.$(OBJEXT): tests/ostream_test/$(am__dirstamp) \ tests/ostream_test/$(DEPDIR)/$(am__dirstamp) @@ -2212,10 +2212,10 @@ ostream_testU$(EXEEXT): $(ostream_testU_OBJECTS) $(ostream_testU_DEPENDENCIES) $ $(AM_V_CXXLD)$(ostream_testU_LINK) $(ostream_testU_OBJECTS) $(ostream_testU_LDADD) $(LIBS) tests/patternlayout_test/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test - @: > tests/patternlayout_test/$(am__dirstamp) + @: >>tests/patternlayout_test/$(am__dirstamp) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test/$(DEPDIR) - @: > tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) tests/patternlayout_test/main.$(OBJEXT): \ tests/patternlayout_test/$(am__dirstamp) \ tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) @@ -2232,10 +2232,10 @@ patternlayout_testU$(EXEEXT): $(patternlayout_testU_OBJECTS) $(patternlayout_tes $(AM_V_CXXLD)$(patternlayout_testU_LINK) $(patternlayout_testU_OBJECTS) $(patternlayout_testU_LDADD) $(LIBS) tests/performance_test/$(am__dirstamp): @$(MKDIR_P) tests/performance_test - @: > tests/performance_test/$(am__dirstamp) + @: >>tests/performance_test/$(am__dirstamp) tests/performance_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/performance_test/$(DEPDIR) - @: > tests/performance_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/performance_test/$(DEPDIR)/$(am__dirstamp) tests/performance_test/main.$(OBJEXT): \ tests/performance_test/$(am__dirstamp) \ tests/performance_test/$(DEPDIR)/$(am__dirstamp) @@ -2252,10 +2252,10 @@ performance_testU$(EXEEXT): $(performance_testU_OBJECTS) $(performance_testU_DEP $(AM_V_CXXLD)$(performance_testU_LINK) $(performance_testU_OBJECTS) $(performance_testU_LDADD) $(LIBS) tests/priority_test/$(am__dirstamp): @$(MKDIR_P) tests/priority_test - @: > tests/priority_test/$(am__dirstamp) + @: >>tests/priority_test/$(am__dirstamp) tests/priority_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/priority_test/$(DEPDIR) - @: > tests/priority_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/priority_test/$(DEPDIR)/$(am__dirstamp) tests/priority_test/func.$(OBJEXT): \ tests/priority_test/$(am__dirstamp) \ tests/priority_test/$(DEPDIR)/$(am__dirstamp) @@ -2278,10 +2278,10 @@ priority_testU$(EXEEXT): $(priority_testU_OBJECTS) $(priority_testU_DEPENDENCIES $(AM_V_CXXLD)$(priority_testU_LINK) $(priority_testU_OBJECTS) $(priority_testU_LDADD) $(LIBS) tests/propertyconfig_test/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test - @: > tests/propertyconfig_test/$(am__dirstamp) + @: >>tests/propertyconfig_test/$(am__dirstamp) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test/$(DEPDIR) - @: > tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) tests/propertyconfig_test/main.$(OBJEXT): \ tests/propertyconfig_test/$(am__dirstamp) \ tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) @@ -2298,10 +2298,10 @@ propertyconfig_testU$(EXEEXT): $(propertyconfig_testU_OBJECTS) $(propertyconfig_ $(AM_V_CXXLD)$(propertyconfig_testU_LINK) $(propertyconfig_testU_OBJECTS) $(propertyconfig_testU_LDADD) $(LIBS) tests/socket_test/$(am__dirstamp): @$(MKDIR_P) tests/socket_test - @: > tests/socket_test/$(am__dirstamp) + @: >>tests/socket_test/$(am__dirstamp) tests/socket_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/socket_test/$(DEPDIR) - @: > tests/socket_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/socket_test/$(DEPDIR)/$(am__dirstamp) tests/socket_test/main.$(OBJEXT): tests/socket_test/$(am__dirstamp) \ tests/socket_test/$(DEPDIR)/$(am__dirstamp) @@ -2317,10 +2317,10 @@ socket_testU$(EXEEXT): $(socket_testU_OBJECTS) $(socket_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(socket_testU_LINK) $(socket_testU_OBJECTS) $(socket_testU_LDADD) $(LIBS) tests/thread_test/$(am__dirstamp): @$(MKDIR_P) tests/thread_test - @: > tests/thread_test/$(am__dirstamp) + @: >>tests/thread_test/$(am__dirstamp) tests/thread_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/thread_test/$(DEPDIR) - @: > tests/thread_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/thread_test/$(DEPDIR)/$(am__dirstamp) tests/thread_test/main.$(OBJEXT): tests/thread_test/$(am__dirstamp) \ tests/thread_test/$(DEPDIR)/$(am__dirstamp) @@ -2336,10 +2336,10 @@ thread_testU$(EXEEXT): $(thread_testU_OBJECTS) $(thread_testU_DEPENDENCIES) $(EX $(AM_V_CXXLD)$(thread_testU_LINK) $(thread_testU_OBJECTS) $(thread_testU_LDADD) $(LIBS) tests/timeformat_test/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test - @: > tests/timeformat_test/$(am__dirstamp) + @: >>tests/timeformat_test/$(am__dirstamp) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test/$(DEPDIR) - @: > tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + @: >>tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) tests/timeformat_test/main.$(OBJEXT): \ tests/timeformat_test/$(am__dirstamp) \ tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) @@ -2356,10 +2356,10 @@ timeformat_testU$(EXEEXT): $(timeformat_testU_OBJECTS) $(timeformat_testU_DEPEND $(AM_V_CXXLD)$(timeformat_testU_LINK) $(timeformat_testU_OBJECTS) $(timeformat_testU_LDADD) $(LIBS) tests/unit_tests/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests - @: > tests/unit_tests/$(am__dirstamp) + @: >>tests/unit_tests/$(am__dirstamp) tests/unit_tests/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests/$(DEPDIR) - @: > tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + @: >>tests/unit_tests/$(DEPDIR)/$(am__dirstamp) tests/unit_tests/unit_tests.$(OBJEXT): \ tests/unit_tests/$(am__dirstamp) \ tests/unit_tests/$(DEPDIR)/$(am__dirstamp) @@ -3963,55 +3963,55 @@ clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) - -rm -f qt4debugappender/$(DEPDIR)/$(am__dirstamp) - -rm -f qt4debugappender/$(am__dirstamp) - -rm -f qt5debugappender/$(DEPDIR)/$(am__dirstamp) - -rm -f qt5debugappender/$(am__dirstamp) - -rm -f simpleserver/$(DEPDIR)/$(am__dirstamp) - -rm -f simpleserver/$(am__dirstamp) - -rm -f src/$(DEPDIR)/$(am__dirstamp) - -rm -f src/$(am__dirstamp) - -rm -f tests/appender_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/appender_test/$(am__dirstamp) - -rm -f tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/configandwatch_test/$(am__dirstamp) - -rm -f tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/customloglevel_test/$(am__dirstamp) - -rm -f tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/fileappender_test/$(am__dirstamp) - -rm -f tests/filter_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/filter_test/$(am__dirstamp) - -rm -f tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/hierarchy_test/$(am__dirstamp) - -rm -f tests/loglog_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/loglog_test/$(am__dirstamp) - -rm -f tests/ndc_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/ndc_test/$(am__dirstamp) - -rm -f tests/ostream_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/ostream_test/$(am__dirstamp) - -rm -f tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/patternlayout_test/$(am__dirstamp) - -rm -f tests/performance_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/performance_test/$(am__dirstamp) - -rm -f tests/priority_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/priority_test/$(am__dirstamp) - -rm -f tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/propertyconfig_test/$(am__dirstamp) - -rm -f tests/socket_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/socket_test/$(am__dirstamp) - -rm -f tests/thread_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/thread_test/$(am__dirstamp) - -rm -f tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/timeformat_test/$(am__dirstamp) - -rm -f tests/unit_tests/$(DEPDIR)/$(am__dirstamp) - -rm -f tests/unit_tests/$(am__dirstamp) - -test -z "$(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp)" || rm -f $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) - -test -z "$(top_builddir)/catch/extras/$(am__dirstamp)" || rm -f $(top_builddir)/catch/extras/$(am__dirstamp) + -$(am__rm_f) $(top_builddir)/catch/extras/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) $(top_builddir)/catch/extras/$(am__dirstamp) + -$(am__rm_f) qt4debugappender/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) qt4debugappender/$(am__dirstamp) + -$(am__rm_f) qt5debugappender/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) qt5debugappender/$(am__dirstamp) + -$(am__rm_f) simpleserver/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) simpleserver/$(am__dirstamp) + -$(am__rm_f) src/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) src/$(am__dirstamp) + -$(am__rm_f) tests/appender_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/appender_test/$(am__dirstamp) + -$(am__rm_f) tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/configandwatch_test/$(am__dirstamp) + -$(am__rm_f) tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/customloglevel_test/$(am__dirstamp) + -$(am__rm_f) tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/fileappender_test/$(am__dirstamp) + -$(am__rm_f) tests/filter_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/filter_test/$(am__dirstamp) + -$(am__rm_f) tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/hierarchy_test/$(am__dirstamp) + -$(am__rm_f) tests/loglog_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/loglog_test/$(am__dirstamp) + -$(am__rm_f) tests/ndc_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/ndc_test/$(am__dirstamp) + -$(am__rm_f) tests/ostream_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/ostream_test/$(am__dirstamp) + -$(am__rm_f) tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/patternlayout_test/$(am__dirstamp) + -$(am__rm_f) tests/performance_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/performance_test/$(am__dirstamp) + -$(am__rm_f) tests/priority_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/priority_test/$(am__dirstamp) + -$(am__rm_f) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/propertyconfig_test/$(am__dirstamp) + -$(am__rm_f) tests/socket_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/socket_test/$(am__dirstamp) + -$(am__rm_f) tests/thread_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/thread_test/$(am__dirstamp) + -$(am__rm_f) tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/timeformat_test/$(am__dirstamp) + -$(am__rm_f) tests/unit_tests/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/unit_tests/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -$(am__rm_f) $(BUILT_SOURCES) @ENABLE_TESTS_FALSE@clean-local: clean: clean-recursive diff --git a/aclocal.m4 b/aclocal.m4 index 1b91fc750..0d007d34d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16j -*- Autoconf -*- +# generated automatically by aclocal 1.17 -*- Autoconf -*- -# Copyright (C) 1996-2023 Free Software Foundation, Inc. +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2023 Free Software Foundation, Inc. +# Copyright (C) 2002-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.16' +[am__api_version='1.17' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16j], [], +m4_if([$1], [1.17], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16j])dnl +[AM_AUTOMAKE_VERSION([1.17])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2023 Free Software Foundation, Inc. +# Copyright (C) 2011-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -120,7 +120,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -172,7 +172,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2023 Free Software Foundation, Inc. +# Copyright (C) 1997-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -203,7 +203,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -335,7 +335,7 @@ AC_CACHE_CHECK([dependency style of $depcc], # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: + # When given -MP, icc 7.0 and 7.1 complain thus: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported @@ -394,7 +394,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -462,7 +462,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2023 Free Software Foundation, Inc. +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -639,7 +639,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -660,7 +660,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2023 Free Software Foundation, Inc. +# Copyright (C) 2003-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -682,7 +682,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2023 Free Software Foundation, Inc. +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -717,7 +717,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -760,7 +760,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2023 Free Software Foundation, Inc. +# Copyright (C) 1997-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -794,7 +794,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -823,7 +823,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -870,7 +870,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -905,6 +905,7 @@ AC_DEFUN([AM_PATH_PYTHON], dnl supported. (2.0 was released on October 16, 2000). m4_define_default([_AM_PYTHON_INTERPRETER_LIST], [python python3 dnl + python3.20 python3.19 python3.18 python3.17 python3.16 dnl python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 dnl python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl python3.2 python3.1 python3.0 dnl @@ -1103,15 +1104,29 @@ try: if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7': can_use_sysconfig = 0 except ImportError: - pass" + pass" # end of am_python_setup_sysconfig + + # More repeated code, for figuring out the installation scheme to use. + am_python_setup_scheme="if hasattr(sysconfig, 'get_default_scheme'): + scheme = sysconfig.get_default_scheme() + else: + scheme = sysconfig._get_default_scheme() + if scheme == 'posix_local': + if '$am_py_prefix' == '/usr': + scheme = 'deb_system' # should only happen during Debian package builds + else: + # Debian's default scheme installs to /usr/local/ but we want to + # follow the prefix, as we always have. + # See bugs#54412, #64837, et al. + scheme = 'posix_prefix'" # end of am_python_setup_scheme dnl emacs-page Set up 4 directories: dnl 1. pythondir: where to install python scripts. This is the dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior + dnl directory as in early automake betas. This behavior dnl is more consistent with lispdir.m4 for example. - dnl Query distutils for this directory. + dnl Query sysconfig or distutils (per above) for this directory. dnl AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)], [am_cv_python_pythondir], @@ -1123,7 +1138,11 @@ except ImportError: am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + try: + $am_python_setup_scheme + sitedir = sysconfig.get_path('purelib', scheme, vars={'base':'$am_py_prefix'}) + except: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') @@ -1153,7 +1172,8 @@ sys.stdout.write(sitedir)"` dnl 3. pyexecdir: directory for installing python extension modules dnl (shared libraries). - dnl Query distutils for this directory. + dnl Query sysconfig or distutils for this directory. + dnl Much of this is the same as for prefix setup above. dnl AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)], [am_cv_python_pyexecdir], @@ -1165,7 +1185,11 @@ sys.stdout.write(sitedir)"` am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) + try: + $am_python_setup_scheme + sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase':'$am_py_exec_prefix'}) + except: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') @@ -1216,7 +1240,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2022-2023 Free Software Foundation, Inc. +# Copyright (C) 2022-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1232,7 +1256,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""']) AC_SUBST(am__rm_f_notfound) ]) -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1251,7 +1275,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2023 Free Software Foundation, Inc. +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1262,8 +1286,8 @@ AC_DEFUN([AM_RUN_LOG], AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl AC_CACHE_CHECK([whether sleep supports fractional seconds], am_cv_sleep_fractional_seconds, [dnl -AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=true], - [am_cv_sleep_fractional_seconds=false]) +AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=yes], + [am_cv_sleep_fractional_seconds=no]) ])]) # _AM_FILESYSTEM_TIMESTAMP_RESOLUTION @@ -1275,17 +1299,30 @@ AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=true], # nanosecond, matching clock_gettime. However, it is probably not # possible to delay execution of a shell script for less than one # millisecond, due to process creation overhead and scheduling -# granularity, so we don't check for anything finer than that. +# granularity, so we don't check for anything finer than that. (See below.) AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS]) -AC_CACHE_CHECK([filesystem timestamp resolution], am_cv_filesystem_timestamp_resolution, [dnl +AC_CACHE_CHECK([filesystem timestamp resolution], + am_cv_filesystem_timestamp_resolution, [dnl # Default to the worst case. am_cv_filesystem_timestamp_resolution=2 -# Only try to go finer than 1s if sleep can do it. -am_try_resolutions=1 -if $am_cv_sleep_fractional_seconds; then - am_try_resolutions="0.001 0.01 0.1 $am_try_resolutions" +# Only try to go finer than 1 sec if sleep can do it. +# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work, +# - 1 sec is not much of a win compared to 2 sec, and +# - it takes 2 seconds to perform the test whether 1 sec works. +# +# Instead, just use the default 2s on platforms that have 1s resolution, +# accept the extra 1s delay when using $sleep in the Automake tests, in +# exchange for not incurring the 2s delay for running the test for all +# packages. +# +am_try_resolutions= +if test "$am_cv_sleep_fractional_seconds" = yes; then + # Even a millisecond often causes a bunch of false positives, + # so just try a hundredth of a second. The time saved between .001 and + # .01 is not terribly consequential. + am_try_resolutions="0.01 0.1 $am_try_resolutions" fi # In order to catch current-generation FAT out, we must *modify* files @@ -1299,12 +1336,14 @@ rm -f conftest.ts? : > conftest.ts3 # Make sure ls -t actually works. Do 'set' in a subshell so we don't -# clobber the current shell's arguments. +# clobber the current shell's arguments. (Outer-level square brackets +# are removed by m4; they're present so that m4 does not expand +# ; be careful, easy to get confused.) if ( set X `[ls -t conftest.ts[12]]` && { - test "$[*]" != "X conftest.ts1 conftest.ts2" || - test "$[*]" != "X conftest.ts2 conftest.ts1"; + test "$[]*" != "X conftest.ts1 conftest.ts2" || + test "$[]*" != "X conftest.ts2 conftest.ts1"; } ); then :; else # If neither matched, then we have a broken ls. This can happen @@ -1315,7 +1354,7 @@ if ( ["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""], [AS_MESSAGE_LOG_FD]) AC_MSG_FAILURE([ls -t produces unexpected output. -Make sure there is not a broken alias in your environment.]) +Make sure there is not a broken ls alias in your environment.]) fi for am_try_res in $am_try_resolutions; do @@ -1335,11 +1374,61 @@ for am_try_res in $am_try_resolutions; do test "$[]2" = conftest.ts3 && test "$[]3" = conftest.ts2 && test "$[]4" = conftest.ts1); then - am_cv_filesystem_timestamp_resolution=$am_try_res - break + # + # Ok, ls -t worked. If we're at a resolution of 1 second, we're done, + # because we don't need to test make. + make_ok=true + if test $am_try_res != 1; then + # But if we've succeeded so far with a subsecond resolution, we + # have one more thing to check: make. It can happen that + # everything else supports the subsecond mtimes, but make doesn't; + # notably on macOS, which ships make 3.81 from 2006 (the last one + # released under GPLv2). https://bugs.gnu.org/68808 + # + # We test $MAKE if it is defined in the environment, else "make". + # It might get overridden later, but our hope is that in practice + # it does not matter: it is the system "make" which is (by far) + # the most likely to be broken, whereas if the user overrides it, + # probably they did so with a better, or at least not worse, make. + # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html + # + # Create a Makefile (real tab character here): + rm -f conftest.mk + echo 'conftest.ts1: conftest.ts2' >conftest.mk + echo ' touch conftest.ts2' >>conftest.mk + # + # Now, running + # touch conftest.ts1; touch conftest.ts2; make + # should touch ts1 because ts2 is newer. This could happen by luck, + # but most often, it will fail if make's support is insufficient. So + # test for several consecutive successes. + # + # (We reuse conftest.ts[12] because we still want to modify existing + # files, not create new ones, per above.) + n=0 + make=${MAKE-make} + until test $n -eq 3; do + echo one > conftest.ts1 + sleep $am_try_res + echo two > conftest.ts2 # ts2 should now be newer than ts1 + if $make -f conftest.mk | grep 'up to date' >/dev/null; then + make_ok=false + break # out of $n loop + fi + n=`expr $n + 1` + done + fi + # + if $make_ok; then + # Everything we know to check worked out, so call this resolution good. + am_cv_filesystem_timestamp_resolution=$am_try_res + break # out of $am_try_res loop + fi + # Otherwise, we'll go on to check the next resolution. fi done rm -f conftest.ts? +# (end _am_filesystem_timestamp_resolution) ])]) # AM_SANITY_CHECK @@ -1374,22 +1463,22 @@ for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then + if test "$[]*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi - test "$[2]" = conftest.file + test "$[]2" = conftest.file ); then am_build_env_is_sane=yes break fi # Just in case. - sleep $am_cv_filesystem_timestamp_resolution + sleep "$am_cv_filesystem_timestamp_resolution" am_has_slept=yes done AC_MSG_RESULT([$am_build_env_is_sane]) -if test $am_build_env_is_sane = no; then +if test "$am_build_env_is_sane" = no; then AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi @@ -1398,7 +1487,7 @@ fi # generated files are strictly newer. am_sleep_pid= AS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl - ( sleep $am_cv_filesystem_timestamp_resolution ) & + ( sleep "$am_cv_filesystem_timestamp_resolution" ) & am_sleep_pid=$! ]) AC_CONFIG_COMMANDS_PRE( @@ -1411,7 +1500,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2023 Free Software Foundation, Inc. +# Copyright (C) 2009-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1482,7 +1571,7 @@ AC_DEFUN([AM_SILENT_RULES], [AC_REQUIRE([_AM_SILENT_RULES]) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])]) -# Copyright (C) 2001-2023 Free Software Foundation, Inc. +# Copyright (C) 2001-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1510,7 +1599,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2023 Free Software Foundation, Inc. +# Copyright (C) 2006-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1529,7 +1618,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2023 Free Software Foundation, Inc. +# Copyright (C) 2004-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1664,7 +1753,7 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -# Copyright (C) 2022-2023 Free Software Foundation, Inc. +# Copyright (C) 2022-2024 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 17de55e79..152198749 100755 --- a/ar-lib +++ b/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2019-07-04.01; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 2010-2023 Free Software Foundation, Inc. +# Copyright (C) 2010-2024 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -105,11 +105,15 @@ case $1 in Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...] Members may be specified in a file named with @FILE. + +Report bugs to . +GNU Automake home page: . +General help using GNU software: . EOF exit $? ;; -v | --v*) - echo "$me, version $scriptversion" + echo "$me (GNU Automake) $scriptversion" exit $? ;; esac diff --git a/compile b/compile index 58f7f214a..49b3d05fd 100755 --- a/compile +++ b/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -254,7 +254,7 @@ EOF exit $? ;; -v | --v*) - echo "compile $scriptversion" + echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ diff --git a/config.guess b/config.guess index cdfc43920..f6d217a49 100755 --- a/config.guess +++ b/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2023 Free Software Foundation, Inc. +# Copyright 1992-2024 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-08-22' +timestamp='2024-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2023 Free Software Foundation, Inc. +Copyright 1992-2024 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." @@ -165,6 +165,8 @@ Linux|GNU|GNU/*) LIBC=dietlibc #elif defined(__GLIBC__) LIBC=gnu + #elif defined(__LLVM_LIBC__) + LIBC=llvm #else #include /* First heuristic to detect musl libc. */ @@ -1593,6 +1595,9 @@ EOF *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; + *:Ironclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad + ;; esac # Do we have a guess based on uname results? diff --git a/config.sub b/config.sub index defe52c0c..2c6a07ab3 100755 --- a/config.sub +++ b/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2023 Free Software Foundation, Inc. +# Copyright 1992-2024 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-09-19' +timestamp='2024-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -76,7 +76,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2023 Free Software Foundation, Inc. +Copyright 1992-2024 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." @@ -1222,6 +1222,7 @@ case $cpu-$vendor in | moxie \ | mt \ | msp430 \ + | nanomips* \ | nds32 | nds32le | nds32be \ | nfp \ | nios | nios2 | nios2eb | nios2el \ @@ -1253,6 +1254,7 @@ case $cpu-$vendor in | ubicom32 \ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ | vax \ + | vc4 \ | visium \ | w65 \ | wasm32 | wasm64 \ @@ -1597,7 +1599,7 @@ case $cpu-$vendor in os= obj=elf ;; - mips*-*) + mips*-*|nanomips*-*) os= obj=elf ;; @@ -1721,7 +1723,7 @@ fi case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. - musl* | newlib* | relibc* | uclibc*) + llvm* | musl* | newlib* | relibc* | uclibc*) ;; # Likewise for "kernel-abi" eabi* | gnueabi*) @@ -1766,12 +1768,19 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* | mlibc* | cos* | mbr* ) + | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) # Don't forget version if it is 3.2v4 or newer. ;; + # This refers to builds using the UEFI calling convention + # (which depends on the architecture) and PE file format. + # Note that this is both a different calling convention and + # different file format than that of GNU-EFI + # (x86_64-w64-mingw32). + uefi) + ;; none) ;; kernel* | msvc* ) @@ -1818,8 +1827,9 @@ esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os-$obj in - linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ - | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) + linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ + | linux-mlibc*- | linux-musl*- | linux-newlib*- \ + | linux-relibc*- | linux-uclibc*- ) ;; uclinux-uclibc*- ) ;; @@ -1827,7 +1837,8 @@ case $kernel-$os-$obj in ;; windows*-msvc*-) ;; - -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) + -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ + | -uclibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 diff --git a/configure b/configure index e9f19e2bd..30a80cd49 100755 --- a/configure +++ b/configure @@ -3262,7 +3262,7 @@ test -n "$target_alias" && program_prefix=${target_alias}- -am__api_version='1.16' +am__api_version='1.17' # Find a good install program. We prefer a C program (faster), @@ -3372,9 +3372,9 @@ then : else case e in #( e) if sleep 0.001 2>/dev/null then : - am_cv_sleep_fractional_seconds=true + am_cv_sleep_fractional_seconds=yes else case e in #( - e) am_cv_sleep_fractional_seconds=false ;; + e) am_cv_sleep_fractional_seconds=no ;; esac fi ;; @@ -3392,10 +3392,22 @@ else case e in #( e) # Default to the worst case. am_cv_filesystem_timestamp_resolution=2 -# Only try to go finer than 1s if sleep can do it. -am_try_resolutions=1 -if $am_cv_sleep_fractional_seconds; then - am_try_resolutions="0.001 0.01 0.1 $am_try_resolutions" +# Only try to go finer than 1 sec if sleep can do it. +# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work, +# - 1 sec is not much of a win compared to 2 sec, and +# - it takes 2 seconds to perform the test whether 1 sec works. +# +# Instead, just use the default 2s on platforms that have 1s resolution, +# accept the extra 1s delay when using $sleep in the Automake tests, in +# exchange for not incurring the 2s delay for running the test for all +# packages. +# +am_try_resolutions= +if test "$am_cv_sleep_fractional_seconds" = yes; then + # Even a millisecond often causes a bunch of false positives, + # so just try a hundredth of a second. The time saved between .001 and + # .01 is not terribly consequential. + am_try_resolutions="0.01 0.1 $am_try_resolutions" fi # In order to catch current-generation FAT out, we must *modify* files @@ -3409,7 +3421,9 @@ rm -f conftest.ts? : > conftest.ts3 # Make sure ls -t actually works. Do 'set' in a subshell so we don't -# clobber the current shell's arguments. +# clobber the current shell's arguments. (Outer-level square brackets +# are removed by m4; they're present so that m4 does not expand +# ; be careful, easy to get confused.) if ( set X `ls -t conftest.ts[12]` && { @@ -3425,7 +3439,7 @@ if ( { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "ls -t produces unexpected output. -Make sure there is not a broken alias in your environment. +Make sure there is not a broken ls alias in your environment. See 'config.log' for more details" "$LINENO" 5; } fi @@ -3446,11 +3460,61 @@ for am_try_res in $am_try_resolutions; do test "$2" = conftest.ts3 && test "$3" = conftest.ts2 && test "$4" = conftest.ts1); then - am_cv_filesystem_timestamp_resolution=$am_try_res - break + # + # Ok, ls -t worked. If we're at a resolution of 1 second, we're done, + # because we don't need to test make. + make_ok=true + if test $am_try_res != 1; then + # But if we've succeeded so far with a subsecond resolution, we + # have one more thing to check: make. It can happen that + # everything else supports the subsecond mtimes, but make doesn't; + # notably on macOS, which ships make 3.81 from 2006 (the last one + # released under GPLv2). https://bugs.gnu.org/68808 + # + # We test $MAKE if it is defined in the environment, else "make". + # It might get overridden later, but our hope is that in practice + # it does not matter: it is the system "make" which is (by far) + # the most likely to be broken, whereas if the user overrides it, + # probably they did so with a better, or at least not worse, make. + # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html + # + # Create a Makefile (real tab character here): + rm -f conftest.mk + echo 'conftest.ts1: conftest.ts2' >conftest.mk + echo ' touch conftest.ts2' >>conftest.mk + # + # Now, running + # touch conftest.ts1; touch conftest.ts2; make + # should touch ts1 because ts2 is newer. This could happen by luck, + # but most often, it will fail if make's support is insufficient. So + # test for several consecutive successes. + # + # (We reuse conftest.ts[12] because we still want to modify existing + # files, not create new ones, per above.) + n=0 + make=${MAKE-make} + until test $n -eq 3; do + echo one > conftest.ts1 + sleep $am_try_res + echo two > conftest.ts2 # ts2 should now be newer than ts1 + if $make -f conftest.mk | grep 'up to date' >/dev/null; then + make_ok=false + break # out of $n loop + fi + n=`expr $n + 1` + done + fi + # + if $make_ok; then + # Everything we know to check worked out, so call this resolution good. + am_cv_filesystem_timestamp_resolution=$am_try_res + break # out of $am_try_res loop + fi + # Otherwise, we'll go on to check the next resolution. fi done rm -f conftest.ts? +# (end _am_filesystem_timestamp_resolution) ;; esac fi @@ -3496,13 +3560,13 @@ for am_try in 1 2; do break fi # Just in case. - sleep $am_cv_filesystem_timestamp_resolution + sleep "$am_cv_filesystem_timestamp_resolution" am_has_slept=yes done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_build_env_is_sane" >&5 printf "%s\n" "$am_build_env_is_sane" >&6; } -if test $am_build_env_is_sane = no; then +if test "$am_build_env_is_sane" = no; then as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi @@ -3514,7 +3578,7 @@ if test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1 then : else case e in #( - e) ( sleep $am_cv_filesystem_timestamp_resolution ) & + e) ( sleep "$am_cv_filesystem_timestamp_resolution" ) & am_sleep_pid=$! ;; esac @@ -5230,7 +5294,7 @@ else case e in #( # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: + # When given -MP, icc 7.0 and 7.1 complain thus: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported @@ -6241,7 +6305,7 @@ else case e in #( # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: + # When given -MP, icc 7.0 and 7.1 complain thus: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported @@ -16235,7 +16299,7 @@ then : printf %s "(cached) " >&6 else case e in #( e) - for am_cv_pathless_PYTHON in python python3 python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + for am_cv_pathless_PYTHON in python python3 python3.20 python3.19 python3.18 python3.17 python3.16 python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys # split strings by '.' and convert to numeric. Append some zeros @@ -16506,7 +16570,21 @@ try: if python_implementation() == 'CPython' and sys.version[:3] == '2.7': can_use_sysconfig = 0 except ImportError: - pass" + pass" # end of am_python_setup_sysconfig + + # More repeated code, for figuring out the installation scheme to use. + am_python_setup_scheme="if hasattr(sysconfig, 'get_default_scheme'): + scheme = sysconfig.get_default_scheme() + else: + scheme = sysconfig._get_default_scheme() + if scheme == 'posix_local': + if '$am_py_prefix' == '/usr': + scheme = 'deb_system' # should only happen during Debian package builds + else: + # Debian's default scheme installs to /usr/local/ but we want to + # follow the prefix, as we always have. + # See bugs#54412, #64837, et al. + scheme = 'posix_prefix'" # end of am_python_setup_scheme { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 @@ -16523,7 +16601,11 @@ else case e in #( am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + try: + $am_python_setup_scheme + sitedir = sysconfig.get_path('purelib', scheme, vars={'base':'$am_py_prefix'}) + except: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') @@ -16553,7 +16635,7 @@ printf "%s\n" "$am_cv_python_pythondir" >&6; } pkgpythondir=\${pythondir}/$PACKAGE - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } if test ${am_cv_python_pyexecdir+y} then : @@ -16567,7 +16649,11 @@ else case e in #( am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) + try: + $am_python_setup_scheme + sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase':'$am_py_exec_prefix'}) + except: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') diff --git a/depcomp b/depcomp index 0e48ffab4..1f0aa972c 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 1999-2023 Free Software Foundation, Inc. +# Copyright (C) 1999-2024 Free Software Foundation, Inc. # 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 @@ -53,7 +53,7 @@ EOF exit $? ;; -v | --v*) - echo "depcomp $scriptversion" + echo "depcomp (GNU Automake) $scriptversion" exit $? ;; esac @@ -129,7 +129,7 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" -# Avoid interferences from the environment. +# Avoid interference from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We diff --git a/include/Makefile.in b/include/Makefile.in index 266334844..8e699ac82 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16j from Makefile.am. +# Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2023 Free Software Foundation, Inc. +# Copyright (C) 1994-2024 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/install-sh b/install-sh index 7c56c9c01..b1d7a6f67 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -170,7 +170,7 @@ while test $# -ne 0; do -T) is_target_a_directory=never;; - --version) echo "$0 $scriptversion"; exit $?;; + --version) echo "$0 (GNU Automake) $scriptversion"; exit $?;; --) shift break;; @@ -345,7 +345,7 @@ do ' 0 # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directly in world-writable /tmp, make sure that the '$tmpdir' # directory is successfully created first before we actually test # 'mkdir -p'. if (umask $mkdir_umask && @@ -353,7 +353,7 @@ do exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. + # Check for POSIX incompatibility with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. diff --git a/missing b/missing index 89123eda6..7e7d78ec5 100755 --- a/missing +++ b/missing @@ -1,9 +1,11 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-07.14; # UTC -# Copyright (C) 1996-2023 Free Software Foundation, Inc. +# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells + +# Copyright (C) 1996-2024 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -54,7 +56,7 @@ Options: -v, --version output version information and exit Supported PROGRAM values: -aclocal autoconf autogen autoheader autom4te automake autoreconf +aclocal autoconf autogen autoheader autom4te automake autoreconf bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and @@ -67,7 +69,7 @@ General help using GNU software: ." ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" + echo "missing (GNU Automake) $scriptversion" exit $? ;; diff --git a/mkinstalldirs b/mkinstalldirs index 83e8e31ec..e536369cc 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -41,7 +41,7 @@ while test $# -gt 0 ; do shift ;; --version) - echo "$0 $scriptversion" + echo "$0 (GNU Automake) $scriptversion" exit $? ;; --) # stop option processing diff --git a/py-compile b/py-compile index b26255237..c9d4fde94 100755 --- a/py-compile +++ b/py-compile @@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC -# Copyright (C) 2000-2023 Free Software Foundation, Inc. +# Copyright (C) 2000-2024 Free Software Foundation, Inc. # 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 @@ -85,7 +85,7 @@ EOF exit $? ;; -v|--version) - echo "$me $scriptversion" + echo "$me (GNU Automake) $scriptversion" exit $? ;; --) diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 6e2086f5d..1d8c56205 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,6 +1,6 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.16.5 +export AUTOMAKE_SUFFIX=-1.17 export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.4.7 From 0a12c4912898dd4851b773f317cd058525c749d8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 3 Aug 2024 21:47:25 +0200 Subject: [PATCH 293/353] Update ThreadPool. This version has non-blocking `enqueue()` and blocking `enqueue_block()`. --- threadpool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/threadpool b/threadpool index 3507796e1..251db61ff 160000 --- a/threadpool +++ b/threadpool @@ -1 +1 @@ -Subproject commit 3507796e172d36555b47d6191f170823d9f6b12c +Subproject commit 251db61ff3e3c7b16436c9936c53e6f68ff07720 From 4ff7c5458e2a9df5b9f39a265d604c318b6d7ff3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 3 Aug 2024 21:50:46 +0200 Subject: [PATCH 294/353] Use maximum compression for lrzip. --- scripts/prepare_dist_from_git.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_dist_from_git.sh b/scripts/prepare_dist_from_git.sh index c0484625b..23a3b261d 100755 --- a/scripts/prepare_dist_from_git.sh +++ b/scripts/prepare_dist_from_git.sh @@ -2,7 +2,7 @@ set -e -THIS_SCRIPT=`basename "$0"` +THIS_SCRIPT=$(basename "$0") function usage { @@ -64,7 +64,7 @@ if [[ -z "${TMPDIR}" ]] ; then else export TMPDIR fi -TMP_DIR=`mktemp -d -t log4cplus.XXXXXXX` +TMP_DIR=$(mktemp -d -t log4cplus.XXXXXXX) pushd "$TMP_DIR" TAR=${TAR:-$(find_archiver tar)} @@ -94,7 +94,7 @@ $TAR -c --format=posix --numeric-owner --owner=0 --group=0 -f "$TAR_FILE" "$SRC_ $XZ -e -c "$TAR_FILE" >"$DEST_DIR/$TAR_FILE".xz \ & $BZIP2 -9 -c "$TAR_FILE" >"$DEST_DIR/$TAR_FILE".bz2 \ & $GZIP -9 -c "$TAR_FILE" >"$DEST_DIR/$TAR_FILE".gz \ -& $LRZIP -q -o - "$TAR_FILE" |([[ "$LRZIP" = ":" ]] && cat >/dev/null || cat >"$DEST_DIR/$TAR_FILE".lrz) +& $LRZIP -z -q -o - "$TAR_FILE" |([[ "$LRZIP" = ":" ]] && cat >/dev/null || cat >"$DEST_DIR/$TAR_FILE".lrz) echo waiting for tarballs... wait From 89e57ea376b514174b1c841a2f41eb3795a7b347 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 3 Aug 2024 21:51:53 +0200 Subject: [PATCH 295/353] Allow choosing non-blocking queueing into thread pool. --- include/log4cplus/config.hxx | 3 +++ src/global-init.cxx | 32 ++++++++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index b0ae733fd..aaefb7246 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -194,6 +194,9 @@ LOG4CPLUS_EXPORT void deinitialize (); //! Set thread pool size. LOG4CPLUS_EXPORT void setThreadPoolSize (std::size_t pool_size); +//! Set behaviour on full thread pool queue. Default is to block. +LOG4CPLUS_EXPORT void setThreadPoolBlockOnFull (bool block); + } // namespace log4cplus #endif diff --git a/src/global-init.cxx b/src/global-init.cxx index fb1e100f6..bd531dea4 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -181,6 +181,7 @@ struct DefaultContext spi::LocaleFactoryRegistry locale_factory_registry; Hierarchy hierarchy; ThreadPoolHolder thread_pool; + std::atomic block_on_full {true}; #if ! defined (LOG4CPLUS_SINGLE_THREADED) progschj::ThreadPool * @@ -364,11 +365,29 @@ void enqueueAsyncDoAppend (SharedAppenderPtr const & appender, spi::InternalLoggingEvent const & event) { - get_dc ()->get_thread_pool (true)->enqueue ( - [=] () + DefaultContext * dc = get_dc (); + progschj::ThreadPool * tp = dc->get_thread_pool (true); + auto func = [=] () { + appender->asyncDoAppend (event); + }; + if (dc->block_on_full) + tp->enqueue_block (std::move (func)); + else + { + std::future future = tp->enqueue (std::move (func)); + if (future.wait_for (std::chrono::seconds (0)) == std::future_status::ready) { - appender->asyncDoAppend (event); - }); + try + { + future.get (); + } + catch (const progschj::would_block &) + { + // TODO: Log blocking. + } + + } + } } #endif @@ -657,6 +676,11 @@ setThreadPoolSize (std::size_t LOG4CPLUS_THREADED (pool_size)) #endif } +void +setThreadPoolBlockOnFull (bool block) +{ + get_dc ()->block_on_full.store (block); +} static void From 688725252a0f03009ed0e6bf0f4efe7583068a0a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 3 Aug 2024 22:00:06 +0200 Subject: [PATCH 296/353] Allow configuration of thread pool blocking behaviour. Recognize property `log4cplus.threadPoolBlockOnFull`. --- include/log4cplus/configurator.h | 12 ++++++++++-- src/configurator.cxx | 4 ++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/log4cplus/configurator.h b/include/log4cplus/configurator.h index f1df307ce..83759955d 100644 --- a/include/log4cplus/configurator.h +++ b/include/log4cplus/configurator.h @@ -200,8 +200,16 @@ namespace log4cplus * *

Global configuration

* - * Property
log4cplus.threadPoolSize
can be used to adjust - * size of log4cplus' internal thread pool. + *
    + *
  • Property
    log4cplus.threadPoolSize
    can be used to adjust + * size of log4cplus' internal thread pool.
  • + *
  • Property
    log4cplus.threadPoolBlockOnFull
    can be + * used to change behaviour of the thread pool when its queue is full. + * The default value is
    true
    , to block the thread until + * there is a space in the queue. Setting this property to + *
    false
    makes the thread pool not to block when it is full. + * The items that could not be inserted are dropped instead.
  • + *
* *

Example

* diff --git a/src/configurator.cxx b/src/configurator.cxx index eeaec1f80..5b92059a6 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -198,6 +198,10 @@ PropertyConfigurator::configure() setThreadPoolSize (thread_pool_size); + bool block; + if (properties.getBool (block, LOG4CPLUS_TEXT ("threadPoolBlockOnFull"))) + setThreadPoolBlockOnFull (block); + configureAppenders(); configureLoggers(); configureAdditivity(); From 6233f8ad98b88db679925fd863bfe132bea68a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Tue, 6 Aug 2024 15:00:01 +0200 Subject: [PATCH 297/353] Create SECURITY.md --- SECURITY.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..c9e2d8c17 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report security vulnerabilities via email to the maintainers. From 384cb7fb262716691be7af00f3a8c01941b2a129 Mon Sep 17 00:00:00 2001 From: Matvey Kraposhin Date: Tue, 13 Aug 2024 16:58:04 +0300 Subject: [PATCH 298/353] Enables compilation of the library in single-threaded mode --- src/global-init.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/global-init.cxx b/src/global-init.cxx index fb1e100f6..65e1c8c05 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -153,14 +153,18 @@ instantiate_thread_pool () //! therefore the ThreadPool can only be destroyed after that. struct ThreadPoolHolder { +#if ! defined (LOG4CPLUS_SINGLE_THREADED) std::atomic thread_pool{}; +#endif ThreadPoolHolder () = default; ThreadPoolHolder (ThreadPoolHolder const&) = delete; ~ThreadPoolHolder () { +#if ! defined (LOG4CPLUS_SINGLE_THREADED) auto const tp = thread_pool.exchange(nullptr, std::memory_order_release); delete tp; +#endif } }; From fd71cecddea520b5caa40c6cdde3a753b74b64b6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 27 Aug 2024 19:46:25 +0200 Subject: [PATCH 299/353] Add simple/non-recursive mutex implementation. --- include/log4cplus/thread/syncprims-pub-impl.h | 42 +++++++++++++++++++ include/log4cplus/thread/syncprims.h | 21 +++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/include/log4cplus/thread/syncprims-pub-impl.h b/include/log4cplus/thread/syncprims-pub-impl.h index b3db32523..54a4e842b 100644 --- a/include/log4cplus/thread/syncprims-pub-impl.h +++ b/include/log4cplus/thread/syncprims-pub-impl.h @@ -56,6 +56,48 @@ LOG4CPLUS_EXPORT void syncprims_throw_exception [[noreturn]] ( } +// +// +// + +LOG4CPLUS_INLINE_EXPORT +SimpleMutex::SimpleMutex () + LOG4CPLUS_THREADED (: mtx ()) +{ } + + +LOG4CPLUS_INLINE_EXPORT +SimpleMutex::~SimpleMutex () +{ } + + +LOG4CPLUS_INLINE_EXPORT +void +SimpleMutex::lock () const +{ + LOG4CPLUS_THREADED (mtx.lock ()); +} + +LOG4CPLUS_INLINE_EXPORT +bool +SimpleMutex::try_lock () const +{ +#if defined (LOG4CPLUS_SINGLE_THREADED) + return true; +#else + return mtx.try_lock (); +#endif +} + + +LOG4CPLUS_INLINE_EXPORT +void +SimpleMutex::unlock () const +{ + LOG4CPLUS_THREADED (mtx.unlock ()); +} + + // // // diff --git a/include/log4cplus/thread/syncprims.h b/include/log4cplus/thread/syncprims.h index a6c0ba6a6..0f1228a29 100644 --- a/include/log4cplus/thread/syncprims.h +++ b/include/log4cplus/thread/syncprims.h @@ -49,7 +49,6 @@ class LOG4CPLUS_TSA_SCOPED_CAPABILITY SyncGuard SyncGuard (SyncGuard const &) = delete; SyncGuard & operator = (SyncGuard const &) = delete; - void lock () LOG4CPLUS_TSA_ACQUIRE (); void unlock () LOG4CPLUS_TSA_RELEASE (); void attach (SyncPrim const & sp) LOG4CPLUS_TSA_REQUIRES (sp); @@ -61,6 +60,26 @@ class LOG4CPLUS_TSA_SCOPED_CAPABILITY SyncGuard }; +class LOG4CPLUS_EXPORT LOG4CPLUS_TSA_CAPABILITY ("mutex") SimpleMutex +{ +public: + SimpleMutex (); + ~SimpleMutex (); + SimpleMutex (SimpleMutex const &) = delete; + SimpleMutex & operator = (SimpleMutex const &) = delete; + + void lock () const LOG4CPLUS_TSA_ACQUIRE (); + bool try_lock () const LOG4CPLUS_TSA_TRY_ACQUIRE (true); + void unlock () const LOG4CPLUS_TSA_RELEASE (); + +private: + LOG4CPLUS_THREADED (mutable std::mutex mtx;) +}; + + +typedef SyncGuard SimpleMutexGuard; + + class LOG4CPLUS_EXPORT LOG4CPLUS_TSA_CAPABILITY ("mutex") Mutex { public: From ddbd5b277b5408b60d9032779a212bd935a8ae77 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 27 Aug 2024 19:48:57 +0200 Subject: [PATCH 300/353] Allow setting thread pool queue size limit. --- include/log4cplus/config.hxx | 3 +++ include/log4cplus/configurator.h | 2 ++ src/configurator.cxx | 4 ++++ src/global-init.cxx | 13 +++++++++++++ 4 files changed, 22 insertions(+) diff --git a/include/log4cplus/config.hxx b/include/log4cplus/config.hxx index aaefb7246..26f87cbf0 100644 --- a/include/log4cplus/config.hxx +++ b/include/log4cplus/config.hxx @@ -197,6 +197,9 @@ LOG4CPLUS_EXPORT void setThreadPoolSize (std::size_t pool_size); //! Set behaviour on full thread pool queue. Default is to block. LOG4CPLUS_EXPORT void setThreadPoolBlockOnFull (bool block); +//! Set thread pool queue size limit. +LOG4CPLUS_EXPORT void setThreadPoolQueueSizeLimit (std::size_t queue_size_limit); + } // namespace log4cplus #endif diff --git a/include/log4cplus/configurator.h b/include/log4cplus/configurator.h index 83759955d..7a3b9d8d3 100644 --- a/include/log4cplus/configurator.h +++ b/include/log4cplus/configurator.h @@ -209,6 +209,8 @@ namespace log4cplus * there is a space in the queue. Setting this property to *
false
makes the thread pool not to block when it is full. * The items that could not be inserted are dropped instead. + *
  • Property
    log4cplus.threadPoolQueueSizeLimit
    can be used to + * set thread pool queue size limit.
  • * * *

    Example

    diff --git a/src/configurator.cxx b/src/configurator.cxx index 5b92059a6..be4063ee5 100644 --- a/src/configurator.cxx +++ b/src/configurator.cxx @@ -202,6 +202,10 @@ PropertyConfigurator::configure() if (properties.getBool (block, LOG4CPLUS_TEXT ("threadPoolBlockOnFull"))) setThreadPoolBlockOnFull (block); + unsigned int queue_size_limit; + if (properties.getUInt (queue_size_limit, LOG4CPLUS_TEXT ("threadPoolQueueSizeLimit"))) + setThreadPoolQueueSizeLimit ((std::max) (queue_size_limit, 100u)); + configureAppenders(); configureLoggers(); configureAdditivity(); diff --git a/src/global-init.cxx b/src/global-init.cxx index 6cc85b62d..666dee4bf 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -680,6 +680,19 @@ setThreadPoolSize (std::size_t LOG4CPLUS_THREADED (pool_size)) #endif } + +void +setThreadPoolQueueSizeLimit (std::size_t LOG4CPLUS_THREADED (queue_size_limit)) +{ +#if ! defined (LOG4CPLUS_SINGLE_THREADED) + auto const thread_pool = get_dc ()->get_thread_pool (true); + if (thread_pool) + thread_pool->set_queue_size_limit (queue_size_limit); + +#endif +} + + void setThreadPoolBlockOnFull (bool block) { From 34d0754f71993131bcb489d9c2f70bf303dd9579 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 27 Aug 2024 19:55:07 +0200 Subject: [PATCH 301/353] Add logging of dropped events when AsyncAppend=true. --- Makefile.in | 65 +++++++++++----- include/Makefile.am | 1 + include/Makefile.in | 1 + include/log4cplus/helpers/eventcounter.h | 91 ++++++++++++++++++++++ src/CMakeLists.txt | 2 + src/Makefile.am | 1 + src/eventcounter.cxx | 98 ++++++++++++++++++++++++ src/global-init.cxx | 18 ++++- 8 files changed, 257 insertions(+), 20 deletions(-) create mode 100644 include/log4cplus/helpers/eventcounter.h create mode 100644 src/eventcounter.cxx diff --git a/Makefile.in b/Makefile.in index 7ce8ee423..3f6e59860 100644 --- a/Makefile.in +++ b/Makefile.in @@ -307,6 +307,7 @@ am__objects_5 = src/liblog4cplus_la-appenderattachableimpl.lo \ src/liblog4cplus_la-connectorthread.lo \ src/liblog4cplus_la-consoleappender.lo \ src/liblog4cplus_la-cygwin-win32.lo src/liblog4cplus_la-env.lo \ + src/liblog4cplus_la-eventcounter.lo \ src/liblog4cplus_la-exception.lo \ src/liblog4cplus_la-factory.lo \ src/liblog4cplus_la-fileappender.lo \ @@ -365,7 +366,9 @@ am__objects_8 = src/liblog4cplusU_la-appenderattachableimpl.lo \ src/liblog4cplusU_la-connectorthread.lo \ src/liblog4cplusU_la-consoleappender.lo \ src/liblog4cplusU_la-cygwin-win32.lo \ - src/liblog4cplusU_la-env.lo src/liblog4cplusU_la-exception.lo \ + src/liblog4cplusU_la-env.lo \ + src/liblog4cplusU_la-eventcounter.lo \ + src/liblog4cplusU_la-exception.lo \ src/liblog4cplusU_la-factory.lo \ src/liblog4cplusU_la-fileappender.lo \ src/liblog4cplusU_la-fileinfo.lo \ @@ -797,6 +800,7 @@ am__depfiles_remade = $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-ca src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo \ src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo \ src/$(DEPDIR)/liblog4cplusU_la-env.Plo \ + src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Plo \ src/$(DEPDIR)/liblog4cplusU_la-exception.Plo \ src/$(DEPDIR)/liblog4cplusU_la-factory.Plo \ src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo \ @@ -853,6 +857,7 @@ am__depfiles_remade = $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-ca src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo \ src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo \ src/$(DEPDIR)/liblog4cplus_la-env.Plo \ + src/$(DEPDIR)/liblog4cplus_la-eventcounter.Plo \ src/$(DEPDIR)/liblog4cplus_la-exception.Plo \ src/$(DEPDIR)/liblog4cplus_la-factory.Plo \ src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo \ @@ -1243,23 +1248,23 @@ LIB_SRC = src/appenderattachableimpl.cxx src/appender.cxx \ src/asyncappender.cxx src/callbackappender.cxx src/clogger.cxx \ src/configurator.cxx src/connectorthread.cxx \ src/consoleappender.cxx src/cygwin-win32.cxx src/env.cxx \ - src/exception.cxx src/factory.cxx src/fileappender.cxx \ - src/fileinfo.cxx src/filter.cxx src/global-init.cxx \ - src/hierarchy.cxx src/hierarchylocker.cxx src/layout.cxx \ - src/log4judpappender.cxx src/lockfile.cxx src/logger.cxx \ - src/loggerimpl.cxx src/loggingevent.cxx src/loggingmacros.cxx \ - src/loglevel.cxx src/loglog.cxx src/mdc.cxx src/ndc.cxx \ - src/nullappender.cxx src/nteventlogappender.cxx \ - src/objectregistry.cxx src/patternlayout.cxx src/pointer.cxx \ - src/property.cxx src/queue.cxx src/rootlogger.cxx \ - src/snprintf.cxx src/socketappender.cxx src/socketbuffer.cxx \ - src/socket.cxx src/socket-unix.cxx src/socket-win32.cxx \ - src/stringhelper.cxx src/stringhelper-clocale.cxx \ - src/stringhelper-cxxlocale.cxx src/stringhelper-iconv.cxx \ - src/syncprims.cxx src/syslogappender.cxx src/threads.cxx \ - src/timehelper.cxx src/tls.cxx src/version.cxx \ - src/win32consoleappender.cxx src/win32debugappender.cxx \ - $(am__append_1) + src/eventcounter.cxx src/exception.cxx src/factory.cxx \ + src/fileappender.cxx src/fileinfo.cxx src/filter.cxx \ + src/global-init.cxx src/hierarchy.cxx src/hierarchylocker.cxx \ + src/layout.cxx src/log4judpappender.cxx src/lockfile.cxx \ + src/logger.cxx src/loggerimpl.cxx src/loggingevent.cxx \ + src/loggingmacros.cxx src/loglevel.cxx src/loglog.cxx \ + src/mdc.cxx src/ndc.cxx src/nullappender.cxx \ + src/nteventlogappender.cxx src/objectregistry.cxx \ + src/patternlayout.cxx src/pointer.cxx src/property.cxx \ + src/queue.cxx src/rootlogger.cxx src/snprintf.cxx \ + src/socketappender.cxx src/socketbuffer.cxx src/socket.cxx \ + src/socket-unix.cxx src/socket-win32.cxx src/stringhelper.cxx \ + src/stringhelper-clocale.cxx src/stringhelper-cxxlocale.cxx \ + src/stringhelper-iconv.cxx src/syncprims.cxx \ + src/syslogappender.cxx src/threads.cxx src/timehelper.cxx \ + src/tls.cxx src/version.cxx src/win32consoleappender.cxx \ + src/win32debugappender.cxx $(am__append_1) common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS liblog4cplus_la_CPPFLAGS = $(common_liblog4cplus_la_cppflags) common_liblog4cplus_la_sources = $(LIB_SRC) @@ -1751,6 +1756,8 @@ src/liblog4cplus_la-cygwin-win32.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-env.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplus_la-eventcounter.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-exception.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplus_la-factory.lo: src/$(am__dirstamp) \ @@ -1875,6 +1882,8 @@ src/liblog4cplusU_la-cygwin-win32.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-env.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/liblog4cplusU_la-eventcounter.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-exception.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/liblog4cplusU_la-factory.lo: src/$(am__dirstamp) \ @@ -2428,6 +2437,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-env.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-exception.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-factory.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo@am__quote@ # am--include-marker @@ -2484,6 +2494,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-env.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-eventcounter.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-exception.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-factory.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo@am__quote@ # am--include-marker @@ -2682,6 +2693,13 @@ src/liblog4cplus_la-env.lo: src/env.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-env.lo `test -f 'src/env.cxx' || echo '$(srcdir)/'`src/env.cxx +src/liblog4cplus_la-eventcounter.lo: src/eventcounter.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplus_la-eventcounter.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplus_la-eventcounter.Tpo -c -o src/liblog4cplus_la-eventcounter.lo `test -f 'src/eventcounter.cxx' || echo '$(srcdir)/'`src/eventcounter.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplus_la-eventcounter.Tpo src/$(DEPDIR)/liblog4cplus_la-eventcounter.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/eventcounter.cxx' object='src/liblog4cplus_la-eventcounter.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplus_la-eventcounter.lo `test -f 'src/eventcounter.cxx' || echo '$(srcdir)/'`src/eventcounter.cxx + src/liblog4cplus_la-exception.lo: src/exception.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplus_la-exception.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplus_la-exception.Tpo -c -o src/liblog4cplus_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplus_la-exception.Tpo src/$(DEPDIR)/liblog4cplus_la-exception.Plo @@ -3081,6 +3099,13 @@ src/liblog4cplusU_la-env.lo: src/env.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-env.lo `test -f 'src/env.cxx' || echo '$(srcdir)/'`src/env.cxx +src/liblog4cplusU_la-eventcounter.lo: src/eventcounter.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-eventcounter.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Tpo -c -o src/liblog4cplusU_la-eventcounter.lo `test -f 'src/eventcounter.cxx' || echo '$(srcdir)/'`src/eventcounter.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Tpo src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/eventcounter.cxx' object='src/liblog4cplusU_la-eventcounter.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/liblog4cplusU_la-eventcounter.lo `test -f 'src/eventcounter.cxx' || echo '$(srcdir)/'`src/eventcounter.cxx + src/liblog4cplusU_la-exception.lo: src/exception.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/liblog4cplusU_la-exception.lo -MD -MP -MF src/$(DEPDIR)/liblog4cplusU_la-exception.Tpo -c -o src/liblog4cplusU_la-exception.lo `test -f 'src/exception.cxx' || echo '$(srcdir)/'`src/exception.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/liblog4cplusU_la-exception.Tpo src/$(DEPDIR)/liblog4cplusU_la-exception.Plo @@ -4041,6 +4066,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo @@ -4097,6 +4123,7 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-eventcounter.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo @@ -4248,6 +4275,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplusU_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplusU_la-eventcounter.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplusU_la-fileappender.Plo @@ -4304,6 +4332,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-cygwin-win32.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-env.Plo + -rm -f src/$(DEPDIR)/liblog4cplus_la-eventcounter.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-exception.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-factory.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-fileappender.Plo diff --git a/include/Makefile.am b/include/Makefile.am index d6a9960c4..32f65e219 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -21,6 +21,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/fstreams.h \ log4cplus/helpers/appenderattachableimpl.h \ log4cplus/helpers/connectorthread.h \ + log4cplus/helpers/eventcounter.h \ log4cplus/helpers/fileinfo.h \ log4cplus/helpers/lockfile.h \ log4cplus/helpers/loglog.h \ diff --git a/include/Makefile.in b/include/Makefile.in index 8e699ac82..9a7d2fd4c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -384,6 +384,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/fstreams.h \ log4cplus/helpers/appenderattachableimpl.h \ log4cplus/helpers/connectorthread.h \ + log4cplus/helpers/eventcounter.h \ log4cplus/helpers/fileinfo.h \ log4cplus/helpers/lockfile.h \ log4cplus/helpers/loglog.h \ diff --git a/include/log4cplus/helpers/eventcounter.h b/include/log4cplus/helpers/eventcounter.h new file mode 100644 index 000000000..be9f192fb --- /dev/null +++ b/include/log4cplus/helpers/eventcounter.h @@ -0,0 +1,91 @@ +// -*- C++ -*- +// +// Copyright (C) 2024, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef LOG4CPLUS_HELPERS_EVENTCOUNTER_H +#define LOG4CPLUS_HELPERS_EVENTCOUNTER_H + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#include +#include +#include +#include + + +namespace log4cplus { + +namespace helpers { + +class LOG4CPLUS_EXPORT BaseEventCounter +{ +public: + BaseEventCounter (); + virtual ~BaseEventCounter (); + + virtual std::size_t record_event (); + +protected: + std::atomic event_count {0}; +}; + + +class LOG4CPLUS_EXPORT SteadyClockGate + : public BaseEventCounter +{ +public: + using Clock = std::chrono::steady_clock; + using Duration = Clock::duration; + using TimePoint = std::chrono::time_point; + + struct LOG4CPLUS_EXPORT Info + { + ~Info (); + + std::size_t count; + Duration time_span; + }; + + SteadyClockGate (SteadyClockGate::Duration pause_duraiton); + virtual ~SteadyClockGate (); + + bool latch_open (Info &); + +private: + log4cplus::thread::SimpleMutex mtx; + Duration const pause_duration; + TimePoint timeout_point; + TimePoint prev_timeout_point; +}; + + +} // namespace helpers + +} // namespace log4cplus + +#endif // LOG4CPLUS_HELPERS_EVENTCOUNTER_H diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a6b99e67c..de1d314d1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,6 +9,7 @@ set (log4cplus_sources consoleappender.cxx cygwin-win32.cxx env.cxx + eventcounter.cxx exception.cxx factory.cxx fileappender.cxx @@ -238,6 +239,7 @@ install(FILES ../include/log4cplus/boost/deviceappender.hxx install(FILES ../include/log4cplus/helpers/appenderattachableimpl.h ../include/log4cplus/helpers/connectorthread.h + ../include/log4cplus/helpers/eventcounter.h ../include/log4cplus/helpers/fileinfo.h ../include/log4cplus/helpers/lockfile.h ../include/log4cplus/helpers/loglog.h diff --git a/src/Makefile.am b/src/Makefile.am index bf48d4d3b..75b6ad094 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -11,6 +11,7 @@ LIB_SRC = \ %D%/consoleappender.cxx \ %D%/cygwin-win32.cxx \ %D%/env.cxx \ + %D%/eventcounter.cxx \ %D%/exception.cxx \ %D%/factory.cxx \ %D%/fileappender.cxx \ diff --git a/src/eventcounter.cxx b/src/eventcounter.cxx new file mode 100644 index 000000000..499b28820 --- /dev/null +++ b/src/eventcounter.cxx @@ -0,0 +1,98 @@ +// -*- C++ -*- +// +// Copyright (C) 2024, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +#include + +namespace log4cplus { + +namespace helpers { + +BaseEventCounter::BaseEventCounter () += default; + +BaseEventCounter::~BaseEventCounter () += default; + +std::size_t +BaseEventCounter::record_event () +{ + return ++event_count; +} + +// +// +// + +SteadyClockGate::SteadyClockGate (SteadyClockGate::Duration pause_duration_) + : pause_duration {pause_duration_} + , timeout_point {SteadyClockGate::Clock::now ()} + , prev_timeout_point {timeout_point} +{ } + + +SteadyClockGate::~SteadyClockGate () += default; + + +bool +SteadyClockGate::latch_open (SteadyClockGate::Info & info) +{ + std::size_t count = event_count.load (); + if (count == 0) + return false; + + if (! mtx.try_lock ()) + // Someone else has this locked. + return false; + + // We have the lock. Attach it to the guard. + log4cplus::thread::SimpleMutexGuard guard; + guard.attach (mtx); + + auto const now = Clock::now (); + if (now >= timeout_point + // Has anything changed since the first check + // at the start of the function? + && (count = event_count.load ()) > 0) + { + info.count = count; + info.time_span = now - prev_timeout_point; + prev_timeout_point = now; + timeout_point += pause_duration; + + return true; + } + + return false; +} + + +SteadyClockGate::Info::~Info () += default; + +} // namespace helpers + +} // namespace log4cplus \ No newline at end of file diff --git a/src/global-init.cxx b/src/global-init.cxx index 666dee4bf..4f2c0d3b3 100644 --- a/src/global-init.cxx +++ b/src/global-init.cxx @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +47,7 @@ #include #include #include +#include // Forward Declarations @@ -369,6 +371,8 @@ void enqueueAsyncDoAppend (SharedAppenderPtr const & appender, spi::InternalLoggingEvent const & event) { + static helpers::SteadyClockGate gate (helpers::SteadyClockGate::Duration {std::chrono::minutes (5)}); + DefaultContext * dc = get_dc (); progschj::ThreadPool * tp = dc->get_thread_pool (true); auto func = [=] () { @@ -387,9 +391,19 @@ enqueueAsyncDoAppend (SharedAppenderPtr const & appender, } catch (const progschj::would_block &) { - // TODO: Log blocking. + gate.record_event (); + helpers::SteadyClockGate::Info info; + if (gate.latch_open (info)) + { + helpers::LogLog & loglog = helpers::getLogLog (); + log4cplus::tostringstream oss; + oss << LOG4CPLUS_TEXT ("Asynchronous logging queue is full. Dropped ") + << info.count << LOG4CPLUS_TEXT (" events in last ") + << std::chrono::duration_cast (info.time_span).count () + << LOG4CPLUS_TEXT (" seconds"); + loglog.warn (oss.str ()); + } } - } } } From b7ef624c5c092cad226618151c445a7b5ea4da96 Mon Sep 17 00:00:00 2001 From: Matvey Kraposhin Date: Tue, 13 Aug 2024 16:58:04 +0300 Subject: [PATCH 302/353] configure.ac: AC_SYS_LARGEFILE and AC_SYS_YEAR2038 --- configure | 399 +++++++++++++++++++++++++++------------------------ configure.ac | 2 + 2 files changed, 215 insertions(+), 186 deletions(-) diff --git a/configure b/configure index 30a80cd49..6ff04d765 100755 --- a/configure +++ b/configure @@ -746,6 +746,8 @@ ENABLE_VERSION_INFO_OPTION_TRUE LOG4CPLUS_NDEBUG LT_RELEASE LT_VERSION +ac_ct_AR +AR am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE @@ -762,8 +764,6 @@ CPPFLAGS LDFLAGS CFLAGS CC -ac_ct_AR -AR MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE @@ -856,6 +856,7 @@ ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode +enable_largefile enable_dependency_tracking with_working_locale with_working_c_locale @@ -871,7 +872,6 @@ with_wchar_t_support enable_tests enable_unit_tests enable_lto -enable_largefile enable_profiling enable_threads with_qt @@ -1546,6 +1546,7 @@ Optional Features: --disable-maintainer-mode disable make rules and dependencies not useful (and sometimes confusing) to the casual installer + --disable-largefile omit support for large files --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking @@ -1568,7 +1569,6 @@ Optional Features: --enable-tests Enable tests [default=yes] --enable-unit-tests Enable unit tests [default=no] --enable-lto Enable LTO build [default=no] - --disable-largefile omit support for large files --enable-profiling Compile with profiling compiler options. [default=no] --enable-threads Create multi-threaded variant [default=yes] @@ -2975,7 +2975,7 @@ as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" # Auxiliary files required by this configure script. -ac_aux_files="ltmain.sh compile ar-lib missing install-sh config.guess config.sub" +ac_aux_files="ltmain.sh ar-lib compile missing install-sh config.guess config.sub" # Locations in which to look for auxiliary files. ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." @@ -5330,6 +5330,208 @@ fi +# Check whether --enable-largefile was given. +if test ${enable_largefile+y} +then : + enableval=$enable_largefile; +fi +if test "$enable_largefile,$enable_year2038" != no,no +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5 +printf %s "checking for $CC option to enable large file support... " >&6; } +if test ${ac_cv_sys_largefile_opts+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_save_CC="$CC" + ac_opt_found=no + for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do + if test x"$ac_opt" != x"none needed" +then : + CC="$ac_save_CC $ac_opt" +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifndef FTYPE +# define FTYPE off_t +#endif + /* Check that FTYPE can represent 2**63 - 1 correctly. + We can't simply define LARGE_FTYPE to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) + int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721 + && LARGE_FTYPE % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + if test x"$ac_opt" = x"none needed" +then : + # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. + CC="$CC -DFTYPE=ino_t" + if ac_fn_c_try_compile "$LINENO" +then : + +else case e in #( + e) CC="$CC -D_FILE_OFFSET_BITS=64" + if ac_fn_c_try_compile "$LINENO" +then : + ac_opt='-D_FILE_OFFSET_BITS=64' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam +fi + ac_cv_sys_largefile_opts=$ac_opt + ac_opt_found=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test $ac_opt_found = no || break + done + CC="$ac_save_CC" + + test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5 +printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; } + +ac_have_largefile=yes +case $ac_cv_sys_largefile_opts in #( + "none needed") : + ;; #( + "supported through gnulib") : + ;; #( + "support not detected") : + ac_have_largefile=no ;; #( + "-D_FILE_OFFSET_BITS=64") : + +printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h + ;; #( + "-D_LARGE_FILES=1") : + +printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h + ;; #( + "-n32") : + CC="$CC -n32" ;; #( + *) : + as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;; +esac + +if test "$enable_year2038" != no +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5 +printf %s "checking for $CC option for timestamps after 2038... " >&6; } +if test ${ac_cv_sys_year2038_opts+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_save_CPPFLAGS="$CPPFLAGS" + ac_opt_found=no + for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do + if test x"$ac_opt" != x"none needed" +then : + CPPFLAGS="$ac_save_CPPFLAGS $ac_opt" +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_year2038_opts="$ac_opt" + ac_opt_found=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test $ac_opt_found = no || break + done + CPPFLAGS="$ac_save_CPPFLAGS" + test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5 +printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; } + +ac_have_year2038=yes +case $ac_cv_sys_year2038_opts in #( + "none needed") : + ;; #( + "support not detected") : + ac_have_year2038=no ;; #( + "-D_TIME_BITS=64") : + +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h + ;; #( + "-D__MINGW_USE_VC2005_COMPAT") : + +printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h + ;; #( + "-U_USE_32_BIT_TIME_T"*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It +will stop working after mid-January 2038. Remove +_USE_32BIT_TIME_T from the compiler flags. +See 'config.log' for more details" "$LINENO" 5; } ;; #( + *) : + as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;; +esac + +fi + +fi +if test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no +then : + # If we're not cross compiling and 'touch' works with a large + # timestamp, then we can presume the system supports wider time_t + # *somehow* and we just weren't able to detect it. One common + # case that we deliberately *don't* probe for is a system that + # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers + # wide time_t. (It would be inappropriate for us to override an + # intentional use of -m32.) Error out, demanding use of + # --disable-year2038 if this is intentional. + if TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null +then : + case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in #( + *'Feb 7 2106'* | *'Feb 7 17:10'*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "this system appears to support timestamps after +mid-January 2038, but no mechanism for enabling wide +'time_t' was detected. Did you mean to build a 64-bit +binary? (E.g., 'CC=\"${CC} -m64\"'.) To proceed with +32-bit time_t, configure with '--disable-year2038'. +See 'config.log' for more details" "$LINENO" 5; } ;; #( + *) : + ;; +esac +fi +fi if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" @@ -9072,181 +9274,6 @@ printf "%s\n" "#define HAVE_CXX20 1" >>confdefs.h as_fn_append CPPFLAGS " -D_GNU_SOURCE=1" -# Check whether --enable-largefile was given. -if test ${enable_largefile+y} -then : - enableval=$enable_largefile; -fi -if test "$enable_largefile,$enable_year2038" != no,no -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5 -printf %s "checking for $CC option to enable large file support... " >&6; } -if test ${ac_cv_sys_largefile_opts+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) ac_save_CC="$CC" - ac_opt_found=no - for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do - if test x"$ac_opt" != x"none needed" -then : - CC="$ac_save_CC $ac_opt" -fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifndef FTYPE -# define FTYPE off_t -#endif - /* Check that FTYPE can represent 2**63 - 1 correctly. - We can't simply define LARGE_FTYPE to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) - int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721 - && LARGE_FTYPE % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - if test x"$ac_opt" = x"none needed" -then : - # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. - CC="$CC -DFTYPE=ino_t" - if ac_fn_cxx_try_compile "$LINENO" -then : - -else case e in #( - e) CC="$CC -D_FILE_OFFSET_BITS=64" - if ac_fn_cxx_try_compile "$LINENO" -then : - ac_opt='-D_FILE_OFFSET_BITS=64' -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam -fi - ac_cv_sys_largefile_opts=$ac_opt - ac_opt_found=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - test $ac_opt_found = no || break - done - CC="$ac_save_CC" - - test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5 -printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; } - -ac_have_largefile=yes -case $ac_cv_sys_largefile_opts in #( - "none needed") : - ;; #( - "supported through gnulib") : - ;; #( - "support not detected") : - ac_have_largefile=no ;; #( - "-D_FILE_OFFSET_BITS=64") : - -printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h - ;; #( - "-D_LARGE_FILES=1") : - -printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h - ;; #( - "-n32") : - CC="$CC -n32" ;; #( - *) : - as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;; -esac - -if test "$enable_year2038" != no -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5 -printf %s "checking for $CC option for timestamps after 2038... " >&6; } -if test ${ac_cv_sys_year2038_opts+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) ac_save_CPPFLAGS="$CPPFLAGS" - ac_opt_found=no - for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do - if test x"$ac_opt" != x"none needed" -then : - CPPFLAGS="$ac_save_CPPFLAGS $ac_opt" -fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - /* Check that time_t can represent 2**32 - 1 correctly. */ - #define LARGE_TIME_T \\ - ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) - int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 - && LARGE_TIME_T % 65537 == 0) - ? 1 : -1]; - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_sys_year2038_opts="$ac_opt" - ac_opt_found=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - test $ac_opt_found = no || break - done - CPPFLAGS="$ac_save_CPPFLAGS" - test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5 -printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; } - -ac_have_year2038=yes -case $ac_cv_sys_year2038_opts in #( - "none needed") : - ;; #( - "support not detected") : - ac_have_year2038=no ;; #( - "-D_TIME_BITS=64") : - -printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h - ;; #( - "-D__MINGW_USE_VC2005_COMPAT") : - -printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h - ;; #( - "-U_USE_32_BIT_TIME_T"*) : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} -as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It -will stop working after mid-January 2038. Remove -_USE_32BIT_TIME_T from the compiler flags. -See 'config.log' for more details" "$LINENO" 5; } ;; #( - *) : - as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;; -esac - -fi - -fi if test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no then : # If we're not cross compiling and 'touch' works with a large @@ -28940,6 +28967,12 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +# Check whether --enable-year2038 was given. +if test ${enable_year2038+y} +then : + enableval=$enable_year2038; +fi + if test -z "${ENABLE_VERSION_INFO_OPTION_TRUE}" && test -z "${ENABLE_VERSION_INFO_OPTION_FALSE}"; then as_fn_error $? "conditional \"ENABLE_VERSION_INFO_OPTION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -28964,12 +28997,6 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -# Check whether --enable-year2038 was given. -if test ${enable_year2038+y} -then : - enableval=$enable_year2038; -fi - if test -z "${USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_TRUE}" && test -z "${USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_FALSE}"; then as_fn_error $? "conditional \"USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index 14029f898..22e29c82c 100644 --- a/configure.ac +++ b/configure.ac @@ -11,6 +11,8 @@ AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.16.1 no-define no-dist nostdinc foreign subdir-objects -Wall]) AC_CONFIG_TESTDIR([tests]) AM_MAINTAINER_MODE([enable]) +AC_SYS_LARGEFILE +AC_SYS_YEAR2038 AM_PROG_AR # From dc4be3e0939042abb1403bda9cd11a0e26f3e298 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 16 Sep 2024 20:17:13 +0200 Subject: [PATCH 303/353] Use TSA annotations for BaseEventCounter. --- include/log4cplus/helpers/eventcounter.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/log4cplus/helpers/eventcounter.h b/include/log4cplus/helpers/eventcounter.h index be9f192fb..f305de26d 100644 --- a/include/log4cplus/helpers/eventcounter.h +++ b/include/log4cplus/helpers/eventcounter.h @@ -32,6 +32,7 @@ #pragma once #endif +#include #include #include #include @@ -78,9 +79,9 @@ class LOG4CPLUS_EXPORT SteadyClockGate private: log4cplus::thread::SimpleMutex mtx; - Duration const pause_duration; - TimePoint timeout_point; - TimePoint prev_timeout_point; + Duration const pause_duration LOG4CPLUS_TSA_GUARDED_BY (mtx); + TimePoint timeout_point LOG4CPLUS_TSA_GUARDED_BY (mtx); + TimePoint prev_timeout_point LOG4CPLUS_TSA_GUARDED_BY (mtx); }; From 3b218eac09ac67c69e3413a98e4e3e28192dee58 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Tue, 17 Sep 2024 22:28:24 +0200 Subject: [PATCH 304/353] Implements `LOG4CPLUS_ASSERT_FMT()` and `LOG4CPLUS_ASSERT_FORMAT()`. This implements #617. --- include/log4cplus/loggingmacros.h | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/include/log4cplus/loggingmacros.h b/include/log4cplus/loggingmacros.h index b5826ea70..dc2131d58 100644 --- a/include/log4cplus/loggingmacros.h +++ b/include/log4cplus/loggingmacros.h @@ -530,9 +530,8 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, //! Helper macro for LOG4CPLUS_ASSERT() macro. #define LOG4CPLUS_ASSERT_STRINGIFY(X) #X -//! If the condition given in second parameter evaluates false, this -//! macro logs it using FATAL log level, including the condition's -//! source text. +//! If the `condition` evaluates false, this macro logs it using FATAL +//! log level, including the `condition`'s source text. #define LOG4CPLUS_ASSERT(logger, condition) \ LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ do { \ @@ -544,5 +543,28 @@ LOG4CPLUS_EXPORT void macro_forced_log (log4cplus::Logger const &, } while (false) \ LOG4CPLUS_RESTORE_DOWHILE_WARNING() +//! If the `condition` evaluates false, this macro logs a message +//! formatted from `printf` format string passed in 3rd and remaining +//! arguments. +#define LOG4CPLUS_ASSERT_FMT(logger, condition, ...) \ + LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ + do { \ + if (! (condition)) [[unlikely]] { \ + LOG4CPLUS_FATAL_FMT ((logger), __VA_ARGS__); \ + } \ + } while (false) \ + LOG4CPLUS_RESTORE_DOWHILE_WARNING() + +//! If the `condition` evaluates false, this macro logs a message +//! formatted from `std::format` format string passed in 3rd and remaining +//! arguments. +#define LOG4CPLUS_ASSERT_FORMAT(logger, condition, ...) \ + LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() \ + do { \ + if (! (condition)) [[unlikely]] { \ + LOG4CPLUS_FATAL_FORMAT ((logger), __VA_ARGS__); \ + } \ + } while (false) \ + LOG4CPLUS_RESTORE_DOWHILE_WARNING() #endif /* LOG4CPLUS_LOGGING_MACROS_HEADER_ */ From 6ca8dbab6c13f26b8757700ecd71f43c7e07ec73 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 22 Sep 2024 10:56:41 +0200 Subject: [PATCH 305/353] Require C++23. --- CMakeLists.txt | 4 +- Makefile.in | 2 +- configure | 124 +++++++++++++++++++++++++++++------- configure.ac | 2 +- include/Makefile.in | 2 +- m4/ax_cxx_compile_stdcxx.m4 | 43 ++++++++++++- 6 files changed, 148 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6cc41e68..b31883f96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,12 +24,12 @@ set (CMAKE_POSITION_INDEPENDENT_CODE ON) enable_language (CXX) if (MSVC) - set (CMAKE_CXX_STANDARD 20) + set (CMAKE_CXX_STANDARD 23) if (CMAKE_VS_PLATFORM_NAME MATCHES "ARM") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") endif () else () - set (CMAKE_CXX_STANDARD 20) + set (CMAKE_CXX_STANDARD 23) endif () set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_EXTENSIONS ON) diff --git a/Makefile.in b/Makefile.in index 3f6e59860..7de3d5c56 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1086,7 +1086,7 @@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GREP = @GREP@ -HAVE_CXX20 = @HAVE_CXX20@ +HAVE_CXX23 = @HAVE_CXX23@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/configure b/configure index 6ff04d765..64d5ef715 100755 --- a/configure +++ b/configure @@ -724,7 +724,7 @@ USE_LOG4CPLUS_EXPORT_SYMBOLS_REGEX_TRUE LOG4CPLUS_AIX_XLC_LDFLAGS GREP SED -HAVE_CXX20 +HAVE_CXX23 CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE @@ -6684,7 +6684,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ax_cxx_compile_alternatives="20" ax_cxx_compile_cxx20_required=true + ax_cxx_compile_alternatives="23 2b" ax_cxx_compile_cxx23_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6692,9 +6692,9 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_success=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features by default" >&5 -printf %s "checking whether $CXX supports C++20 features by default... " >&6; } -if test ${ax_cv_cxx_compile_cxx20+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++23 features by default" >&5 +printf %s "checking whether $CXX supports C++23 features by default... " >&6; } +if test ${ax_cv_cxx_compile_cxx23+y} then : printf %s "(cached) " >&6 else case e in #( @@ -7516,29 +7516,55 @@ namespace cxx20 + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202302L && !defined _MSC_VER + +#error "This is not a C++23 compiler" + +#else + +#include + +namespace cxx23 +{ + +// As C++23 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx23 + +#endif // __cplusplus < 202302L && !defined _MSC_VER + + + _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : - ax_cv_cxx_compile_cxx20=yes + ax_cv_cxx_compile_cxx23=yes else case e in #( - e) ax_cv_cxx_compile_cxx20=no ;; + e) ax_cv_cxx_compile_cxx23=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx20" >&5 -printf "%s\n" "$ax_cv_cxx_compile_cxx20" >&6; } - if test x$ax_cv_cxx_compile_cxx20 = xyes; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx23" >&5 +printf "%s\n" "$ax_cv_cxx_compile_cxx23" >&6; } + if test x$ax_cv_cxx_compile_cxx23 = xyes; then ac_success=yes fi if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do switch="-std=gnu++${alternative}" - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | sed "$as_sed_sh"` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 -printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx23_$switch" | sed "$as_sed_sh"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++23 features with $switch" >&5 +printf %s "checking whether $CXX supports C++23 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 @@ -8363,6 +8389,32 @@ namespace cxx20 + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202302L && !defined _MSC_VER + +#error "This is not a C++23 compiler" + +#else + +#include + +namespace cxx23 +{ + +// As C++23 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx23 + +#endif // __cplusplus < 202302L && !defined _MSC_VER + + + _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : @@ -8392,9 +8444,9 @@ printf "%s\n" "$ac_res" >&6; } if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx20_$switch" | sed "$as_sed_sh"` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++20 features with $switch" >&5 -printf %s "checking whether $CXX supports C++20 features with $switch... " >&6; } + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx23_$switch" | sed "$as_sed_sh"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++23 features with $switch" >&5 +printf %s "checking whether $CXX supports C++23 features with $switch... " >&6; } if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 @@ -9219,6 +9271,32 @@ namespace cxx20 + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202302L && !defined _MSC_VER + +#error "This is not a C++23 compiler" + +#else + +#include + +namespace cxx23 +{ + +// As C++23 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx23 + +#endif // __cplusplus < 202302L && !defined _MSC_VER + + + _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : @@ -9254,19 +9332,19 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test x$ax_cxx_compile_cxx20_required = xtrue; then + if test x$ax_cxx_compile_cxx23_required = xtrue; then if test x$ac_success = xno; then - as_fn_error $? "*** A compiler with support for C++20 language features is required." "$LINENO" 5 + as_fn_error $? "*** A compiler with support for C++23 language features is required." "$LINENO" 5 fi fi if test x$ac_success = xno; then - HAVE_CXX20=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++20 support was found" >&5 -printf "%s\n" "$as_me: No compiler with C++20 support was found" >&6;} + HAVE_CXX23=0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++23 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++23 support was found" >&6;} else - HAVE_CXX20=1 + HAVE_CXX23=1 -printf "%s\n" "#define HAVE_CXX20 1" >>confdefs.h +printf "%s\n" "#define HAVE_CXX23 1" >>confdefs.h fi diff --git a/configure.ac b/configure.ac index 22e29c82c..6f7b9c9d9 100644 --- a/configure.ac +++ b/configure.ac @@ -179,7 +179,7 @@ AC_PROG_CXX AC_PROG_CXXCPP AC_LANG([C++]) -AX_CXX_COMPILE_STDCXX([20],[],[mandatory]) +AX_CXX_COMPILE_STDCXX([23],[],[mandatory]) AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE=1"]) diff --git a/include/Makefile.in b/include/Makefile.in index 9a7d2fd4c..eff74c6be 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -229,7 +229,7 @@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GREP = @GREP@ -HAVE_CXX20 = @HAVE_CXX20@ +HAVE_CXX23 = @HAVE_CXX23@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 index a3d964c69..6140a01d6 100644 --- a/m4/ax_cxx_compile_stdcxx.m4 +++ b/m4/ax_cxx_compile_stdcxx.m4 @@ -52,7 +52,8 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], - [$1], [20], [ax_cxx_compile_alternatives="20"], + [$1], [20], [ax_cxx_compile_alternatives="20 2a"], + [$1], [23], [ax_cxx_compile_alternatives="23 2b"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -177,6 +178,16 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 ) +dnl Test body for checking C++23 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_23], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_23 +) + dnl Tests for new features in C++11 @@ -1007,3 +1018,33 @@ namespace cxx20 #endif // __cplusplus < 202002L && !defined _MSC_VER ]]) + + +dnl Tests for new features in C++23 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_23], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202302L && !defined _MSC_VER + +#error "This is not a C++23 compiler" + +#else + +#include + +namespace cxx23 +{ + +// As C++23 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx23 + +#endif // __cplusplus < 202302L && !defined _MSC_VER + +]]) From 37df6629c534e2dd7bfa9d5e4bc3fc1aa5e8d266 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 3 Oct 2024 19:31:42 +0200 Subject: [PATCH 306/353] Regenerate with libtool 2.5.3. --- configure | 703 +++++++++++++++++++++++----------------- ltmain.sh | 489 ++++++++++++---------------- m4/libtool.m4 | 307 ++++++++---------- m4/ltoptions.m4 | 106 +++--- m4/ltsugar.m4 | 2 +- m4/ltversion.m4 | 12 +- m4/lt~obsolete.m4 | 2 +- scripts/doautoreconf.sh | 2 +- 8 files changed, 834 insertions(+), 789 deletions(-) diff --git a/configure b/configure index 64d5ef715..7e82d5600 100755 --- a/configure +++ b/configure @@ -881,9 +881,11 @@ with_python_sys_prefix with_python_prefix with_python_exec_prefix enable_static +enable_pic with_pic enable_shared enable_fast_install +enable_aix_soname with_aix_soname with_gnu_ld with_sysroot @@ -1573,9 +1575,14 @@ Optional Features: [default=no] --enable-threads Create multi-threaded variant [default=yes] --enable-static[=PKGS] build static libraries [default=no] + --enable-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] + --enable-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. --disable-libtool-lock avoid locking (might break parallel builds) --disable-year2038 don't support timestamps after 2038 @@ -1597,11 +1604,6 @@ Optional Packages: --with-python_prefix override the default PYTHON_PREFIX --with-python_exec_prefix override the default PYTHON_EXEC_PREFIX - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). @@ -17167,8 +17169,8 @@ esac -macro_version='2.4.7' -macro_revision='2.4.7' +macro_version='2.5.3' +macro_revision='2.5.3' @@ -17454,7 +17456,7 @@ if test yes = "$GCC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in - *-*-mingw*) + *-*-mingw* | *-*-windows*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) @@ -17583,7 +17585,7 @@ else # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; + mingw* | windows*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in @@ -17816,7 +17818,7 @@ else case e in #( lt_cv_sys_max_cmd_len=-1; ;; - cygwin* | mingw* | cegcc*) + cygwin* | mingw* | windows* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, @@ -17838,7 +17840,7 @@ else case e in #( lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + 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` @@ -17981,7 +17983,7 @@ else case e in #( e) case $host in *-*-mingw* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) @@ -17994,7 +17996,7 @@ else case e in #( ;; *-*-cygwin* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) @@ -18030,9 +18032,9 @@ else case e in #( e) #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in - *-*-mingw* ) + *-*-mingw* | *-*-windows* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac @@ -18068,7 +18070,7 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi @@ -18090,9 +18092,8 @@ esac -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 +# 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_FILECMD+y} @@ -18113,7 +18114,7 @@ do 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" + ac_cv_prog_FILECMD="file" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -18121,6 +18122,7 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_prog_FILECMD" && ac_cv_prog_FILECMD=":" fi ;; esac fi @@ -18134,66 +18136,6 @@ 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 case e in #( - e) 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 ;; -esac -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 - @@ -18325,7 +18267,6 @@ lt_cv_deplibs_check_method='unknown' # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure @@ -18352,7 +18293,7 @@ cygwin*) lt_cv_file_magic_cmd='func_win32_libid' ;; -mingw* | pw32*) +mingw* | windows* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. @@ -18361,7 +18302,7 @@ mingw* | pw32*) lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; @@ -18452,7 +18393,7 @@ newos6*) lt_cv_deplibs_check_method=pass_all ;; -openbsd* | bitrig*) +openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else @@ -18520,7 +18461,7 @@ file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in - mingw* | pw32*) + mingw* | windows* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else @@ -18676,7 +18617,7 @@ else case e in #( e) lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in @@ -18707,6 +18648,110 @@ test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib" + 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 ;; +esac +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&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_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; 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_RANLIB+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib" + 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 ;; +esac +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + 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 + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + if test -n "$ac_tool_prefix"; then for ac_prog in ar do @@ -18828,7 +18873,7 @@ fi # 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 +# higher priority because that's what people were doing historically (setting # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # variable obsoleted/removed. @@ -19020,109 +19065,6 @@ test -z "$STRIP" && STRIP=: -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib" - 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 ;; -esac -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -printf "%s\n" "$RANLIB" >&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_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; 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_RANLIB+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib" - 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 ;; -esac -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -printf "%s\n" "$ac_ct_RANLIB" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - 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 - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi test -z "$RANLIB" && RANLIB=: @@ -19137,15 +19079,8 @@ old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -19225,7 +19160,7 @@ case $host_os in aix*) symcode='[BCDT]' ;; -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) @@ -19240,7 +19175,7 @@ osf*) symcode='[BCDEGQRST]' ;; solaris*) - symcode='[BDRT]' + symcode='[BCDRT]' ;; sco3.2v5*) symcode='[DT]' @@ -19304,7 +19239,7 @@ $lt_c_name_lib_hook\ # Handle CRLF in mingw tool chain opt_cr= case $build_os in -mingw*) +mingw* | windows*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac @@ -19355,7 +19290,7 @@ void nm_test_func(void){} #ifdef __cplusplus } #endif -int main(){nm_test_var='a';nm_test_func();return(0);} +int main(void){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -19540,7 +19475,9 @@ lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` + # Trim trailing / since we'll always append absolute paths and we want + # to avoid //, if only for less confusing output for the user. + lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'` fi ;; #( /*) @@ -19757,7 +19694,7 @@ mips64*-*linux*) ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when @@ -19776,7 +19713,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; - x86_64-*linux*) + x86_64-*linux*|x86_64-gnu*) case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" @@ -19805,7 +19742,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; - x86_64-*linux*) + x86_64-*linux*|x86_64-gnu*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) @@ -20026,23 +19963,23 @@ fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if test ${lt_cv_path_mainfest_tool+y} +if test ${lt_cv_path_manifest_tool+y} then : printf %s "(cached) " >&6 else case e in #( - e) lt_cv_path_mainfest_tool=no + e) lt_cv_path_manifest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes + lt_cv_path_manifest_tool=yes fi rm -f conftest* ;; esac fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_manifest_tool" >&5 +printf "%s\n" "$lt_cv_path_manifest_tool" >&6; } +if test yes != "$lt_cv_path_manifest_tool"; then MANIFEST_TOOL=: fi @@ -20637,6 +20574,45 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + # Feature test to disable chained fixups since it is not + # compatible with '-undefined dynamic_lookup' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -no_fixup_chains linker flag" >&5 +printf %s "checking for -no_fixup_chains linker flag... " >&6; } +if test ${lt_cv_support_no_fixup_chains+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_support_no_fixup_chains=yes +else case e in #( + e) lt_cv_support_no_fixup_chains=no + ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_support_no_fixup_chains" >&5 +printf "%s\n" "$lt_cv_support_no_fixup_chains" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} @@ -20691,7 +20667,7 @@ _LT_EOF echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF -int main() { return 0;} +int main(void) { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err @@ -20720,7 +20696,11 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } 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' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' + if test yes = "$lt_cv_support_no_fixup_chains"; then + as_fn_append _lt_dar_allow_undefined ' $wl-no_fixup_chains' + fi + ;; esac ;; esac @@ -20801,7 +20781,7 @@ func_stripname_cnf () enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 @@ -21165,31 +21145,54 @@ fi - -# Check whether --with-pic was given. +# Check whether --enable-pic was given. +if test ${enable_pic+y} +then : + enableval=$enable_pic; lt_p=${PACKAGE-default} + case $enableval in + yes|no) pic_mode=$enableval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else case e in #( + e) # Check whether --with-pic was given. if test ${with_pic+y} then : withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac else case e in #( e) pic_mode=yes ;; esac fi + ;; +esac +fi + @@ -21274,18 +21277,29 @@ case $host,$enable_shared in power*-*-aix[5-9]*,yes) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 printf %s "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. + # Check whether --enable-aix-soname was given. +if test ${enable_aix_soname+y} +then : + enableval=$enable_aix_soname; case $enableval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --enable-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$enable_aix_soname +else case e in #( + e) # Check whether --with-aix-soname was given. if test ${with_aix_soname+y} then : withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname else case e in #( e) if test ${lt_cv_with_aix_soname+y} then : @@ -21293,12 +21307,16 @@ then : else case e in #( e) lt_cv_with_aix_soname=aix ;; esac +fi + ;; +esac fi - with_aix_soname=$lt_cv_with_aix_soname ;; + enable_aix_soname=$lt_cv_with_aix_soname ;; esac fi + with_aix_soname=$enable_aix_soname { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then @@ -21614,7 +21632,7 @@ objext=$objext lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' +lt_simple_link_test_code='int main(void){return(0);}' @@ -21756,7 +21774,7 @@ lt_prog_compiler_static= # PIC is the default for these OSes. ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -21859,7 +21877,7 @@ lt_prog_compiler_static= esac ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' @@ -21900,6 +21918,12 @@ lt_prog_compiler_static= lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + *flang* | ftn) + # Flang compiler. + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -22371,7 +22395,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries extract_expsyms_cmds= case $host_os in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # 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++ or Intel C++ Compiler. @@ -22383,7 +22407,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; - openbsd* | bitrig*) + openbsd*) with_gnu_ld=no ;; esac @@ -22486,7 +22510,7 @@ _LT_EOF fi ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' @@ -22542,7 +22566,7 @@ _LT_EOF cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $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='@' ;; @@ -23033,7 +23057,7 @@ fi export_dynamic_flag_spec=-rdynamic ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -23050,14 +23074,14 @@ fi # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_cmds='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + $CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' @@ -23366,7 +23390,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } *nto* | *qnx*) ;; - openbsd* | bitrig*) + openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no @@ -23409,7 +23433,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $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='@' ;; @@ -23851,7 +23875,7 @@ if test yes = "$GCC"; then *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` @@ -23909,7 +23933,7 @@ BEGIN {RS = " "; FS = "/|\n";} { # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` @@ -23983,7 +24007,7 @@ aix[4-9]*) # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the @@ -24077,7 +24101,7 @@ bsdi[45]*) # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -24088,6 +24112,19 @@ cygwin* | mingw* | pw32* | cegcc*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds + # If user builds GCC with mulitlibs enabled, + # it should just install on $(libdir) + # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. + if test yes = $multilib; then + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + $install_prog $dir/$dlname $destdir/$dlname~ + chmod a+x $destdir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib $destdir/$dlname'\'' || exit \$?; + fi' + else postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ @@ -24097,6 +24134,7 @@ cygwin* | mingw* | pw32* | cegcc*) if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' + fi postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' @@ -24109,7 +24147,7 @@ cygwin* | mingw* | pw32* | cegcc*) sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; - mingw* | cegcc*) + mingw* | windows* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; @@ -24128,7 +24166,7 @@ cygwin* | mingw* | pw32* | cegcc*) library_names_spec='$libname.dll.lib' case $build_os in - mingw*) + mingw* | windows*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' @@ -24235,7 +24273,28 @@ freebsd* | dragonfly* | midnightbsd*) need_version=yes ;; esac + case $host_cpu in + powerpc64) + # On FreeBSD bi-arch platforms, a different variable is used for 32-bit + # binaries. See . + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int test_pointer_size[sizeof (void *) - 5]; + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : shlibpath_var=LD_LIBRARY_PATH +else case e in #( + e) shlibpath_var=LD_32_LIBRARY_PATH ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + *) + shlibpath_var=LD_LIBRARY_PATH + ;; + esac case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes @@ -24376,7 +24435,7 @@ linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no - library_names_spec='$libname$release$shared_ext' + library_names_spec='$libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH @@ -24388,8 +24447,9 @@ linux*android*) hardcode_into_libs=yes dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' + # -rpath works at least for libraries that are not overridden by + # libraries installed in system locations. + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; # This must be glibc/ELF. @@ -24446,7 +24506,7 @@ fi # before this can be enabled. hardcode_into_libs=yes - # Ideally, we could use ldconfig to report *all* directores which are + # Ideally, we could use ldconfig to report *all* directories which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, @@ -24503,7 +24563,7 @@ newsos6) dynamic_linker='ldqnx.so' ;; -openbsd* | bitrig*) +openbsd*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no @@ -24844,7 +24904,7 @@ else lt_cv_dlopen_self=yes ;; - mingw* | pw32* | cegcc*) + mingw* | windows* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; @@ -25217,11 +25277,11 @@ else /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); +int fnord (void) __attribute__((visibility("default"))); #endif -int fnord () { return 42; } -int main () +int fnord (void) { return 42; } +int main (void) { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; @@ -25325,11 +25385,11 @@ else /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); +int fnord (void) __attribute__((visibility("default"))); #endif -int fnord () { return 42; } -int main () +int fnord (void) { return 42; } +int main (void) { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; @@ -25790,7 +25850,7 @@ if test yes = "$GCC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in - *-*-mingw*) + *-*-mingw* | *-*-windows*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) @@ -25905,8 +25965,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_CXX= @@ -25926,7 +25985,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' else GXX=no @@ -26226,7 +26285,7 @@ fi esac ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl* | ,icl* | no,icl*) # Native MSVC or ICC @@ -26357,7 +26416,7 @@ fi cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $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='@' ;; @@ -26425,7 +26484,7 @@ fi # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -26490,7 +26549,7 @@ fi # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -26738,7 +26797,7 @@ fi ld_shlibs_CXX=yes ;; - openbsd* | bitrig*) + openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no @@ -26829,7 +26888,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' else # FIXME: insert proper C++ library support @@ -26913,7 +26972,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -26924,7 +26983,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -27067,10 +27126,11 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 case $prev$p in -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. + # Some compilers place space between "-{L,R,l}" and the path. # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then + if test x-L = x"$p" || + test x-R = x"$p" || + test x-l = x"$p"; then prev=$p continue fi @@ -27237,7 +27297,7 @@ lt_prog_compiler_static_CXX= beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -27312,7 +27372,7 @@ lt_prog_compiler_static_CXX= ;; esac ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' @@ -27811,7 +27871,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries pw32*) export_symbols_cmds_CXX=$ltdll_cmds ;; - cygwin* | mingw* | cegcc*) + cygwin* | mingw* | windows* | cegcc*) case $cc_basename in cl* | icl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' @@ -28040,7 +28100,7 @@ aix[4-9]*) # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the @@ -28134,7 +28194,7 @@ bsdi[45]*) # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -28145,6 +28205,19 @@ cygwin* | mingw* | pw32* | cegcc*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds + # If user builds GCC with mulitlibs enabled, + # it should just install on $(libdir) + # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. + if test yes = $multilib; then + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + $install_prog $dir/$dlname $destdir/$dlname~ + chmod a+x $destdir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib $destdir/$dlname'\'' || exit \$?; + fi' + else postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ @@ -28154,6 +28227,7 @@ cygwin* | mingw* | pw32* | cegcc*) if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' + fi postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' @@ -28165,7 +28239,7 @@ cygwin* | mingw* | pw32* | cegcc*) soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; - mingw* | cegcc*) + mingw* | windows* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; @@ -28184,7 +28258,7 @@ cygwin* | mingw* | pw32* | cegcc*) library_names_spec='$libname.dll.lib' case $build_os in - mingw*) + mingw* | windows*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' @@ -28290,7 +28364,28 @@ freebsd* | dragonfly* | midnightbsd*) need_version=yes ;; esac + case $host_cpu in + powerpc64) + # On FreeBSD bi-arch platforms, a different variable is used for 32-bit + # binaries. See . + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int test_pointer_size[sizeof (void *) - 5]; + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : shlibpath_var=LD_LIBRARY_PATH +else case e in #( + e) shlibpath_var=LD_32_LIBRARY_PATH ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + *) + shlibpath_var=LD_LIBRARY_PATH + ;; + esac case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes @@ -28431,7 +28526,7 @@ linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no - library_names_spec='$libname$release$shared_ext' + library_names_spec='$libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH @@ -28443,8 +28538,9 @@ linux*android*) hardcode_into_libs=yes dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' + # -rpath works at least for libraries that are not overridden by + # libraries installed in system locations. + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' ;; # This must be glibc/ELF. @@ -28501,7 +28597,7 @@ fi # before this can be enabled. hardcode_into_libs=yes - # Ideally, we could use ldconfig to report *all* directores which are + # Ideally, we could use ldconfig to report *all* directories which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, @@ -28558,7 +28654,7 @@ newsos6) dynamic_linker='ldqnx.so' ;; -openbsd* | bitrig*) +openbsd*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no @@ -30821,19 +30917,18 @@ See 'config.log' for more details" "$LINENO" 5; } cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 -# Copyright (C) 2014 Free Software Foundation, Inc. +# Copyright (C) 2024 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. # GNU Libtool 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 2 of of the License, or +# the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you @@ -31217,7 +31312,7 @@ hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# "absolute",i.e. impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute @@ -31460,7 +31555,7 @@ hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# "absolute",i.e. impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX diff --git a/ltmain.sh b/ltmain.sh index 2a50d7f6f..def0a431a 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -2,11 +2,11 @@ ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.7 +# libtool (GNU libtool) 2.5.3 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2024 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,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.7 -package_revision=2.4.7 +VERSION=2.5.3 +package_revision=2.5.3 ## ------ ## @@ -72,11 +72,11 @@ scriptversion=2019-02-19.15; # UTC # 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 +# Copyright (C) 2004-2019, 2021, 2023-2024 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 +# , 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. @@ -143,7 +143,7 @@ nl=' ' IFS="$sp $nl" -# There are apparently some retarded systems that use ';' as a PATH separator! +# There are apparently some systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { @@ -1536,11 +1536,11 @@ func_lt_ver () # 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 +# Copyright (C) 2010-2019, 2021, 2023-2024 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 +# , 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. @@ -2215,7 +2215,7 @@ func_version () # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.7' +scriptversion='(GNU libtool) 2.5.3' # func_echo ARG... @@ -2306,13 +2306,13 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.7 + version: $progname (GNU libtool) 2.5.3 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . -GNU libtool home page: . -General help using GNU software: ." +GNU libtool home page: . +General help using GNU software: ." exit 0 } @@ -2668,10 +2668,10 @@ libtool_validate_options () # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" - case $host in + case $host_os in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + cygwin* | mingw* | windows* | pw32* | cegcc* | solaris2* | os2*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; @@ -3003,7 +3003,7 @@ EOF # func_convert_core_file_wine_to_w32 ARG # Helper function used by file name conversion functions when $build is *nix, -# and $host is mingw, cygwin, or some other w32 environment. Relies on a +# and $host is mingw, windows, cygwin, or some other w32 environment. Relies on a # correctly configured wine environment available, with the winepath program # in $build's $PATH. # @@ -3035,9 +3035,10 @@ func_convert_core_file_wine_to_w32 () # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. +# $host is mingw, windows, cygwin, or some other w32 environment. Relies on a +# correctly configured wine environment available, with the winepath program +# in $build's $PATH. Assumes ARG has no leading or trailing path separator +# characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. @@ -3692,7 +3693,7 @@ func_mode_compile () # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) + cygwin* | mingw* | windows* | pw32* | os2* | cegcc*) pic_mode=default ;; esac @@ -4569,7 +4570,7 @@ func_mode_install () 'exit $?' tstripme=$stripme case $host_os in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= @@ -4682,7 +4683,7 @@ func_mode_install () # Do a test to see if this is really a libtool program. case $host in - *cygwin* | *mingw*) + *cygwin* | *mingw* | *windows*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result @@ -4910,7 +4911,7 @@ extern \"C\" { $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in - *cygwin* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *windows* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; @@ -4922,7 +4923,7 @@ extern \"C\" { eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in - *cygwin* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *windows* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; @@ -4936,7 +4937,7 @@ extern \"C\" { func_basename "$dlprefile" name=$func_basename_result case $host in - *cygwin* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *windows* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" @@ -4962,8 +4963,16 @@ extern \"C\" { eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + case $host in + i[3456]86-*-mingw32*) + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + ;; + *) + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/__nm_//' >> '$nlist'" + ;; + esac } else # not an import lib $opt_dry_run || { @@ -5111,7 +5120,7 @@ static const void *lt_preloaded_setup() { # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in - *cygwin* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *windows* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` @@ -5187,7 +5196,7 @@ func_win32_libid () *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || @@ -5454,7 +5463,7 @@ func_extract_archives () # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw +# incorporate the script contents within a cygwin/mingw/windows # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. @@ -5462,7 +5471,7 @@ func_extract_archives () # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific +# the $objdir directory. This is a cygwin/mingw/windows-specific # behavior. func_emit_wrapper () { @@ -5587,7 +5596,7 @@ func_exec_program_core () " case $host in # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) + *-*-mingw* | *-*-windows* | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 @@ -5655,7 +5664,7 @@ func_exec_program () file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done - # Usually 'no', except on cygwin/mingw when embedded into + # Usually 'no', except on cygwin/mingw/windows when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then @@ -5787,7 +5796,7 @@ EOF #endif #include #include -#ifdef _MSC_VER +#if defined _WIN32 && !defined __GNUC__ # include # include # include @@ -5812,7 +5821,7 @@ EOF /* declarations of non-ANSI functions */ #if defined __MINGW32__ # ifdef __STRICT_ANSI__ -int _putenv (const char *); +_CRTIMP int __cdecl _putenv (const char *); # endif #elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ @@ -6010,7 +6019,7 @@ main (int argc, char *argv[]) { EOF case $host in - *mingw* | *cygwin* ) + *mingw* | *windows* | *cygwin* ) # make stdout use "unix" line endings echo " setmode(1,_O_BINARY);" ;; @@ -6029,7 +6038,7 @@ EOF { /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then + have already dealt with, above (including dump-script), then report an error. Otherwise, targets might begin to believe they are allowed to use options in the LTWRAPPER_OPTION_PREFIX namespace. The first time any user complains about this, we'll @@ -6113,7 +6122,7 @@ EOF EOF case $host_os in - mingw*) + mingw* | windows*) cat <<"EOF" { char* p; @@ -6155,7 +6164,7 @@ EOF EOF case $host_os in - mingw*) + mingw* | windows*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ newargz = prepare_spawn (newargz); @@ -6574,7 +6583,7 @@ lt_update_lib_path (const char *name, const char *value) EOF case $host_os in - mingw*) + mingw* | windows*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). @@ -6749,7 +6758,7 @@ func_mode_link () $debug_cmd case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra @@ -6813,10 +6822,12 @@ func_mode_link () xrpath= perm_rpath= temp_rpath= + temp_rpath_tail= thread_safe=no vinfo= vinfo_number=no weak_libs= + rpath_arg= single_module=$wl-single_module func_infer_tag $base_compile @@ -7079,7 +7090,7 @@ func_mode_link () case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) - func_fatal_error "only absolute run-paths are allowed" + func_fatal_error "argument to -rpath is not absolute: $arg" ;; esac if test rpath = "$prev"; then @@ -7255,7 +7266,7 @@ func_mode_link () ;; esac case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; @@ -7275,7 +7286,7 @@ func_mode_link () -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; @@ -7283,7 +7294,7 @@ func_mode_link () # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7303,7 +7314,7 @@ func_mode_link () esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7347,7 +7358,7 @@ func_mode_link () continue ;; -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + |-threads|-fopenmp|-fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" @@ -7370,7 +7381,7 @@ func_mode_link () -no-install) case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" @@ -7430,7 +7441,7 @@ func_mode_link () dir=$lt_sysroot$func_stripname_result ;; *) - func_fatal_error "only absolute run-paths are allowed" + func_fatal_error "argument ($arg) to '-R' is not an absolute path: $dir" ;; esac case "$xrpath " in @@ -7555,13 +7566,29 @@ func_mode_link () # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang + # -fdiagnostics-color* simply affects output + # -frecord-gcc-switches used to verify flags were respected # -fsanitize=* Clang/GCC memory and address sanitizer + # -fno-sanitize* Clang/GCC memory and address sanitizer + # -shared-libsan Link with shared sanitizer runtimes (Clang) + # -static-libsan Link with static sanitizer runtimes (Clang) + # -no-canonical-prefixes Do not expand any symbolic links # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ + # -rtlib=* select c runtime lib with clang + # --unwindlib=* select unwinder library with clang + # -f{file|debug|macro|profile}-prefix-map=* needed for lto linking # -Wa,* Pass flags directly to the assembler + # -Werror, -Werror=* Report (specified) warnings as errors -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=*|-Wa,*) + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-no-canonical-prefixes| \ + -stdlib=*|-rtlib=*|--unwindlib=*| \ + -specs=*|-fsanitize=*|-fno-sanitize*|-shared-libsan|-static-libsan| \ + -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*| \ + -fdiagnostics-color*|-frecord-gcc-switches| \ + -fuse-ld=*|-static-*|-fcilkplus|-Wa,*|-Werror|-Werror=*) func_quote_arg pretty "$arg" arg=$func_quote_arg_result func_append compile_command " $arg" @@ -7719,8 +7746,20 @@ func_mode_link () # Now actually substitute the argument into the commands. if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" + if test -n "$rpath_arg"; then + func_append finalize_rpath " ${arg##*,}" + unset rpath_arg + else + case $arg in + -Wl,-rpath,*) + func_append finalize_rpath " ${arg##*,}";; + -Wl,-rpath) + rpath_arg=1;; + *) + func_append compile_command " $arg" + func_append finalize_command " $arg" + esac + fi fi done # argument parsing loop @@ -7891,7 +7930,7 @@ func_mode_link () found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + |-threads|-fopenmp|-fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -8068,18 +8107,15 @@ func_mode_link () ;; esac if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" + func_warning "Linking the shared library $output against the static library $deplib is not portable!" deplibs="$deplib $deplibs" else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." + func_warning "Trying to link with static lib archive $deplib." + func_warning "I have the capability to make that library automatically link in when" + func_warning "you link to this library. But I can only do this if you have a" + func_warning "shared version of the library, which you do not appear to have" + func_warning "because the file extensions .$libext of this argument makes me believe" + func_warning "that it is just a static archive that I should not use here." fi ;; esac @@ -8274,7 +8310,7 @@ func_mode_link () fi case $host in # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *windows* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present @@ -8374,7 +8410,10 @@ func_mode_link () # Make sure the rpath contains only unique directories. case $temp_rpath: in *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; + *) case $absdir in + "$progdir/"*) func_append temp_rpath "$absdir:" ;; + *) func_append temp_rpath_tail "$absdir:" ;; + esac esac fi @@ -8386,7 +8425,9 @@ func_mode_link () *) case "$compile_rpath " in *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; + *) case $absdir in + "$progdir/"*) func_append compile_rpath " $absdir" ;; + esac esac ;; esac @@ -8417,8 +8458,8 @@ func_mode_link () fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) + case $host_os in + cygwin* | mingw* | windows* | cegcc* | os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no @@ -8444,11 +8485,11 @@ func_mode_link () if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" + func_warning "Linking the executable $output against the loadable module" else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" + func_warning "Linking the shared library $output against the loadable module" fi - $ECHO "*** $linklib is not portable!" + func_warning "$linklib is not portable!" fi if test lib = "$linkmode" && test yes = "$hardcode_into_libs"; then @@ -8460,7 +8501,9 @@ func_mode_link () *) case "$compile_rpath " in *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; + *) case $absdir in + "$progdir/"*) func_append compile_rpath " $absdir" ;; + esac esac ;; esac @@ -8487,8 +8530,8 @@ func_mode_link () soname=$dlname elif test -n "$soname_spec"; then # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) + case $host_os in + cygwin* | mingw* | windows* | cegcc* | os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major @@ -8543,11 +8586,10 @@ func_mode_link () if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" + func_warning "lib $linklib is a module, not a shared library" if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" + func_warning "And there doesn't seem to be a static archive available" + func_warning "The link will probably fail, sorry" else add=$dir/$old_library fi @@ -8630,7 +8672,7 @@ func_mode_link () test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir + add_dir=-L$lt_sysroot$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in @@ -8647,7 +8689,7 @@ func_mode_link () fi else # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir + add_dir=-L$lt_sysroot$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -8687,21 +8729,19 @@ func_mode_link () # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + func_warning "This system cannot link to static lib archive $lib." + func_warning "I have the capability to make that library automatically link in when" + func_warning "you link to this library. But I can only do this if you have a" + func_warning "shared version of the library, which you do not appear to have." if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + func_warning "But as you try to build a module library, libtool will still create " + func_warning "a static module, that should work as long as the dlopening application" + func_warning "is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." + func_warning "However, this would only work if libtool was able to extract symbol" + func_warning "lists from a program, using 'nm' or equivalent, but libtool could" + func_warning "not find such a program. So, this module is probably useless." + func_warning "'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then build_libtool_libs=module @@ -8824,6 +8864,8 @@ func_mode_link () fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs + + func_append temp_rpath "$temp_rpath_tail" if test link = "$pass"; then if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" @@ -8861,42 +8903,46 @@ func_mode_link () # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: new_libs="$deplib $new_libs" for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; + if $opt_preserve_dup_deps; then + new_libs="$deplib $new_libs" + else + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. And if not possible for portability + # reasons, then --preserve-dup-deps should be used. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; esac - ;; - esac + fi done tmp_libs= for deplib in $new_libs; do @@ -9028,9 +9074,7 @@ func_mode_link () if test pass_all != "$deplibs_check_method"; then func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" + func_warning "Linking the shared library $output against the non-libtool objects $objs is not portable!" func_append libobjs " $objs" fi fi @@ -9091,13 +9135,13 @@ func_mode_link () # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|qnx|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; - freebsd-aout|qnx|sunos) + freebsd-aout|sco|sunos) current=$number_major revision=$number_minor age=0 @@ -9244,8 +9288,9 @@ func_mode_link () ;; qnx) - major=.$current - versuffix=.$current + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision ;; sco) @@ -9398,7 +9443,7 @@ func_mode_link () if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) @@ -9449,108 +9494,6 @@ func_mode_link () # implementing what was already the behavior. newdeplibs=$deplibs ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <. ]) -# serial 59 LT_INIT +# serial 62 LT_INIT # LT_PREREQ(VERSION) @@ -60,7 +60,7 @@ esac # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], -[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +[AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl @@ -616,7 +616,7 @@ m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation +# AC_OUTPUT is called), in case it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} @@ -651,9 +651,9 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. -Copyright (C) 2011 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." +gives unlimited permission to copy, distribute and modify it." while test 0 != $[#] do @@ -730,7 +730,6 @@ _LT_CONFIG_SAVE_COMMANDS([ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. @@ -975,6 +974,7 @@ _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE + # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ @@ -1025,6 +1025,21 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ rm -f conftest.* fi]) + # Feature test to disable chained fixups since it is not + # compatible with '-undefined dynamic_lookup' + AC_CACHE_CHECK([for -no_fixup_chains linker flag], + [lt_cv_support_no_fixup_chains], + [ save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([],[])], + lt_cv_support_no_fixup_chains=yes, + lt_cv_support_no_fixup_chains=no + ) + LDFLAGS=$save_LDFLAGS + ] + ) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no @@ -1049,7 +1064,7 @@ _LT_EOF echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF -int main() { return 0;} +int main(void) { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err @@ -1074,7 +1089,11 @@ _LT_EOF 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' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' + if test yes = "$lt_cv_support_no_fixup_chains"; then + AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains']) + fi + ;; esac ;; esac @@ -1256,7 +1275,9 @@ lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` + # Trim trailing / since we'll always append absolute paths and we want + # to avoid //, if only for less confusing output for the user. + lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'` fi ;; #( /*) @@ -1368,7 +1389,7 @@ mips64*-*linux*) ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when @@ -1383,7 +1404,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; - x86_64-*linux*) + x86_64-*linux*|x86_64-gnu*) case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" @@ -1412,7 +1433,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; - x86_64-*linux*) + x86_64-*linux*|x86_64-gnu*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) @@ -1495,7 +1516,7 @@ _LT_DECL([], [AR], [1], [The archiver]) # 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 +# higher priority because that's what people were doing historically (setting # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # variable obsoleted/removed. @@ -1545,7 +1566,7 @@ AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) -AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_REQUIRE([AC_PROG_RANLIB]) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) @@ -1556,15 +1577,8 @@ old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -1703,7 +1717,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=-1; ;; - cygwin* | mingw* | cegcc*) + cygwin* | mingw* | windows* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, @@ -1725,7 +1739,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + 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` @@ -1885,11 +1899,11 @@ else /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); +int fnord (void) __attribute__((visibility("default"))); #endif -int fnord () { return 42; } -int main () +int fnord (void) { return 42; } +int main (void) { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; @@ -1946,7 +1960,7 @@ else lt_cv_dlopen_self=yes ;; - mingw* | pw32* | cegcc*) + mingw* | windows* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; @@ -2314,7 +2328,7 @@ if test yes = "$GCC"; then *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` @@ -2372,7 +2386,7 @@ BEGIN {RS = " "; FS = "/|\n";} { # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` @@ -2447,7 +2461,7 @@ aix[[4-9]]*) # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the @@ -2541,7 +2555,7 @@ bsdi[[45]]*) # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -2552,6 +2566,19 @@ cygwin* | mingw* | pw32* | cegcc*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds + # If user builds GCC with mulitlibs enabled, + # it should just install on $(libdir) + # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. + if test yes = $multilib; then + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + $install_prog $dir/$dlname $destdir/$dlname~ + chmod a+x $destdir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib $destdir/$dlname'\'' || exit \$?; + fi' + else postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ @@ -2561,6 +2588,7 @@ cygwin* | mingw* | pw32* | cegcc*) if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' + fi postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' @@ -2573,7 +2601,7 @@ cygwin* | mingw* | pw32* | cegcc*) m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; - mingw* | cegcc*) + mingw* | windows* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; @@ -2592,7 +2620,7 @@ m4_if([$1], [],[ library_names_spec='$libname.dll.lib' case $build_os in - mingw*) + mingw* | windows*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' @@ -2699,7 +2727,21 @@ freebsd* | dragonfly* | midnightbsd*) need_version=yes ;; esac - shlibpath_var=LD_LIBRARY_PATH + case $host_cpu in + powerpc64) + # On FreeBSD bi-arch platforms, a different variable is used for 32-bit + # binaries. See . + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[int test_pointer_size[sizeof (void *) - 5]; + ]])], + [shlibpath_var=LD_LIBRARY_PATH], + [shlibpath_var=LD_32_LIBRARY_PATH]) + ;; + *) + shlibpath_var=LD_LIBRARY_PATH + ;; + esac case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes @@ -2840,7 +2882,7 @@ linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no - library_names_spec='$libname$release$shared_ext' + library_names_spec='$libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH @@ -2852,8 +2894,9 @@ linux*android*) hardcode_into_libs=yes dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + # -rpath works at least for libraries that are not overridden by + # libraries installed in system locations. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; # This must be glibc/ELF. @@ -2887,7 +2930,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) # before this can be enabled. hardcode_into_libs=yes - # Ideally, we could use ldconfig to report *all* directores which are + # Ideally, we could use ldconfig to report *all* directories which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, @@ -2944,7 +2987,7 @@ newsos6) dynamic_linker='ldqnx.so' ;; -openbsd* | bitrig*) +openbsd*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no @@ -3276,7 +3319,7 @@ if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in - *-*-mingw*) + *-*-mingw* | *-*-windows*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) @@ -3385,7 +3428,7 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi @@ -3457,7 +3500,6 @@ lt_cv_deplibs_check_method='unknown' # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure @@ -3484,7 +3526,7 @@ cygwin*) lt_cv_file_magic_cmd='func_win32_libid' ;; -mingw* | pw32*) +mingw* | windows* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. @@ -3493,7 +3535,7 @@ mingw* | pw32*) lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; @@ -3584,7 +3626,7 @@ newos6*) lt_cv_deplibs_check_method=pass_all ;; -openbsd* | bitrig*) +openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else @@ -3648,7 +3690,7 @@ file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in - mingw* | pw32*) + mingw* | windows* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else @@ -3700,7 +3742,7 @@ else # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; + mingw* | windows*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in @@ -3791,7 +3833,7 @@ lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in @@ -3823,16 +3865,16 @@ _LT_DECL([], [sharedlib_from_linklib_cmd], [1], m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool], + [lt_cv_path_manifest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes + lt_cv_path_manifest_tool=yes fi rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then +if test yes != "$lt_cv_path_manifest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl @@ -3861,7 +3903,7 @@ AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) @@ -3936,7 +3978,7 @@ case $host_os in aix*) symcode='[[BCDT]]' ;; -cygwin* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | windows* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) @@ -3951,7 +3993,7 @@ osf*) symcode='[[BCDEGQRST]]' ;; solaris*) - symcode='[[BDRT]]' + symcode='[[BCDRT]]' ;; sco3.2v5*) symcode='[[DT]]' @@ -4015,7 +4057,7 @@ $lt_c_name_lib_hook\ # Handle CRLF in mingw tool chain opt_cr= case $build_os in -mingw*) +mingw* | windows*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac @@ -4066,7 +4108,7 @@ void nm_test_func(void){} #ifdef __cplusplus } #endif -int main(){nm_test_var='a';nm_test_func();return(0);} +int main(void){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then @@ -4242,7 +4284,7 @@ m4_if([$1], [CXX], [ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -4318,7 +4360,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], @@ -4566,7 +4608,7 @@ m4_if([$1], [CXX], [ # PIC is the default for these OSes. ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -4670,7 +4712,7 @@ m4_if([$1], [CXX], [ esac ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], @@ -4712,6 +4754,12 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + *flang* | ftn) + # Flang compiler. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -4945,7 +4993,7 @@ m4_if([$1], [CXX], [ pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; - cygwin* | mingw* | cegcc*) + cygwin* | mingw* | windows* | cegcc*) case $cc_basename in cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' @@ -5003,7 +5051,7 @@ dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # 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++ or Intel C++ Compiler. @@ -5015,7 +5063,7 @@ dnl Note also adjust exclude_expsyms for C++ above. # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; - openbsd* | bitrig*) + openbsd*) with_gnu_ld=no ;; esac @@ -5118,7 +5166,7 @@ _LT_EOF fi ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' @@ -5174,7 +5222,7 @@ _LT_EOF cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 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(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)='@' ;; @@ -5575,7 +5623,7 @@ _LT_EOF _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -5592,14 +5640,14 @@ _LT_EOF # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + $CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' @@ -5837,7 +5885,7 @@ _LT_EOF *nto* | *qnx*) ;; - openbsd* | bitrig*) + openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -5880,7 +5928,7 @@ _LT_EOF cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 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(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)='@' ;; @@ -6174,7 +6222,7 @@ _LT_TAGDECL([], [hardcode_direct], [0], _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting $shlibpath_var if the + "absolute", i.e. impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR @@ -6232,7 +6280,7 @@ _LT_TAGVAR(objext, $1)=$objext lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' +lt_simple_link_test_code='int main(void){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other @@ -6421,8 +6469,7 @@ if test yes != "$_lt_caught_CXX_error"; then wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= @@ -6442,7 +6489,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else GXX=no @@ -6651,7 +6698,7 @@ if test yes != "$_lt_caught_CXX_error"; then esac ;; - cygwin* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | windows* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl* | ,icl* | no,icl*) # Native MSVC or ICC @@ -6750,7 +6797,7 @@ if test yes != "$_lt_caught_CXX_error"; then cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 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(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)='@' ;; @@ -6818,7 +6865,7 @@ if test yes != "$_lt_caught_CXX_error"; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6883,7 +6930,7 @@ if test yes != "$_lt_caught_CXX_error"; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7131,7 +7178,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(ld_shlibs, $1)=yes ;; - openbsd* | bitrig*) + openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -7222,7 +7269,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else # FIXME: insert proper C++ library support @@ -7306,7 +7353,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7317,7 +7364,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' @@ -7555,10 +7602,11 @@ if AC_TRY_EVAL(ac_compile); then case $prev$p in -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. + # Some compilers place space between "-{L,R,l}" and the path. # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then + if test x-L = x"$p" || + test x-R = x"$p" || + test x-l = x"$p"; then prev=$p continue fi @@ -8216,7 +8264,7 @@ AC_SUBST([DLLTOOL]) # ---------------- # 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], [:]) +[AC_CHECK_PROG([FILECMD], [file], [file], [:]) _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) ])# _LD_DECL_FILECMD @@ -8232,73 +8280,6 @@ _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f "$lt_ac_sed" && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test 10 -lt "$lt_ac_count" && break - lt_ac_count=`expr $lt_ac_count + 1` - if test "$lt_ac_count" -gt "$lt_ac_max"; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) @@ -8345,7 +8326,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) @@ -8358,7 +8339,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd, ;; *-*-cygwin* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) @@ -8384,9 +8365,9 @@ AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in - *-*-mingw* ) + *-*-mingw* | *-*-windows* ) case $build in - *-*-mingw* ) # actually msys + *-*-mingw* | *-*-windows* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index b0b5e9c21..25caa8902 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -1,6 +1,6 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free # Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # @@ -8,7 +8,7 @@ # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 8 ltoptions.m4 +# serial 10 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) @@ -128,7 +128,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) @@ -323,29 +323,39 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +# implement the --enable-aix-soname configure option, and support the +# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. +# DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + AC_ARG_ENABLE([aix-soname], + [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) + [case $enableval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --enable-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$enable_aix_soname], + [_AC_ENABLE_IF([with], [aix-soname], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)]) + enable_aix_soname=$lt_cv_with_aix_soname]) + with_aix_soname=$enable_aix_soname AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member @@ -376,30 +386,50 @@ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- -# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], +[AC_ARG_ENABLE([pic], + [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [pic_mode=m4_default([$1], [default])]) + case $enableval in + yes|no) pic_mode=$enableval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [dnl Continue to support --with-pic and --without-pic, for backward + dnl compatibility. + _AC_ENABLE_IF([with], [pic], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])])] + ) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 index 902508bd9..5b5c80a3a 100644 --- a/m4/ltsugar.m4 +++ b/m4/ltsugar.m4 @@ -1,6 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 index b155d0ace..149c9719f 100644 --- a/m4/ltversion.m4 +++ b/m4/ltversion.m4 @@ -1,6 +1,6 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation, # Inc. # Written by Scott James Remnant, 2004 # @@ -10,15 +10,15 @@ # @configure_input@ -# serial 4245 ltversion.m4 +# serial 4392 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.7]) -m4_define([LT_PACKAGE_REVISION], [2.4.7]) +m4_define([LT_PACKAGE_VERSION], [2.5.3]) +m4_define([LT_PACKAGE_REVISION], [2.5.3]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.7' -macro_revision='2.4.7' +[macro_version='2.5.3' +macro_revision='2.5.3' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 index 0f7a8759d..22b534697 100644 --- a/m4/lt~obsolete.m4 +++ b/m4/lt~obsolete.m4 @@ -1,6 +1,6 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2024 Free # Software Foundation, Inc. # Written by Scott James Remnant, 2004. # diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 1d8c56205..727188b8b 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -2,7 +2,7 @@ export AUTOMAKE_SUFFIX=-1.17 export AUTOCONF_SUFFIX=-2.72 -export LIBTOOL_SUFFIX=-2.4.7 +export LIBTOOL_SUFFIX=-2.5.3 export ACLOCAL="aclocal${AUTOMAKE_SUFFIX}" export AUTOMAKE="automake${AUTOMAKE_SUFFIX}" From 71e91867437ca594a22449d630b3ea1851fc270e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 8 Nov 2024 22:57:07 +0100 Subject: [PATCH 307/353] Use if statement with initializer in few places. --- src/clogger.cxx | 6 ++---- src/hierarchy.cxx | 20 +++++++++----------- src/loggingevent.cxx | 3 +-- src/objectregistry.cxx | 3 +-- src/patternlayout.cxx | 3 +-- src/property.cxx | 15 +++++---------- 6 files changed, 19 insertions(+), 31 deletions(-) diff --git a/src/clogger.cxx b/src/clogger.cxx index 38b9d4a3f..5a6e892a8 100644 --- a/src/clogger.cxx +++ b/src/clogger.cxx @@ -450,8 +450,7 @@ CustomLogLevelManager::toString (LogLevel ll) const std::shared_lock guard (mtx); #endif - auto i = ll2nm.find(ll); - if( i != ll2nm.end() ) + if (auto i = ll2nm.find(ll); i != ll2nm.end()) return i->second; return internal::empty_str; @@ -464,8 +463,7 @@ CustomLogLevelManager::fromString (const log4cplus::tstring_view& nm) const #if ! defined (LOG4CPLUS_SINGLE_THREADED) std::shared_lock guard (mtx); #endif - auto i = nm2ll.find(nm); - if( i != nm2ll.end() ) + if (auto i = nm2ll.find(nm); i != nm2ll.end()) return i->second; return NOT_SET_LOG_LEVEL; diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index 75587678c..73b2306e0 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -279,11 +279,10 @@ Hierarchy::getInstanceImpl(const tstring_view& name, spi::LoggerFactory& factory) { Logger logger; - LoggerMap::iterator lm_it; if (name.empty ()) logger = root; - else if ((lm_it = loggerPtrs.find(name)) != loggerPtrs.end()) + else if (auto lm_it = loggerPtrs.find(name); lm_it != loggerPtrs.end()) logger = lm_it->second; else { @@ -297,8 +296,7 @@ Hierarchy::getInstanceImpl(const tstring_view& name, true); } - auto pnm_it = provisionNodes.find(name); - if (pnm_it != provisionNodes.end()) + if (auto pnm_it = provisionNodes.find(name); pnm_it != provisionNodes.end()) { updateChildren(pnm_it->second, logger); provisionNodes.erase(pnm_it); @@ -334,18 +332,18 @@ Hierarchy::updateParents(Logger const & logger) { substr.assign (name, 0, i); - auto it = loggerPtrs.find(substr); - if(it != loggerPtrs.end()) { + if (auto it = loggerPtrs.find(substr); it != loggerPtrs.end()) + { parentFound = true; logger.value->parent = it->second.value; break; // no need to update the ancestors of the closest ancestor } - else { - auto it2 = provisionNodes.find(substr); - if(it2 != provisionNodes.end()) { + else + { + if (auto it2 = provisionNodes.find(substr); it2 != provisionNodes.end()) it2->second.push_back(logger); - } - else { + else + { ProvisionNode node; node.push_back(logger); std::pair tmp = diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 96ce6de7b..02f975247 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -220,8 +220,7 @@ tstring const & InternalLoggingEvent::getMDC (tstring const & key) const { MappedDiagnosticContextMap const & mdc_ = getMDCCopy (); - auto it = mdc_.find (key); - if (it != mdc_.end ()) + if (auto it = mdc_.find (key); it != mdc_.end ()) return it->second; else return internal::empty_str; diff --git a/src/objectregistry.cxx b/src/objectregistry.cxx index b0a4ec68f..858636ed0 100644 --- a/src/objectregistry.cxx +++ b/src/objectregistry.cxx @@ -102,8 +102,7 @@ ObjectRegistryBase::getVal(const tstring& name) const { thread::MutexGuard guard (mutex); - auto it (data.find (name)); - if (it != data.end ()) + if (auto it {data.find (name)}; it != data.end ()) return it->second; else return nullptr; diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 4c3128701..619fca093 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -716,8 +716,7 @@ PatternParser::extractOption() if ( (pos < pattern.length()) && (pattern[pos] == LOG4CPLUS_TEXT('{'))) { - tstring::size_type end = pattern.find_first_of(LOG4CPLUS_TEXT('}'), pos); - if (end != tstring::npos) { + if (auto end = pattern.find_first_of(LOG4CPLUS_TEXT('}'), pos); end != tstring::npos) { r.assign (pattern, pos + 1, end - pos - 1); pos = end + 1; return r; diff --git a/src/property.cxx b/src/property.cxx index fa8e3ed14..6c4ad4e27 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -379,8 +379,7 @@ Properties::init(tistream& input) } else { - tstring::size_type const idx = buffer.find(LOG4CPLUS_TEXT ('=')); - if (idx != tstring::npos) + if (auto const idx = buffer.find(LOG4CPLUS_TEXT ('=')); idx != tstring::npos) { tstring key = buffer.substr(0, idx); tstring value = buffer.substr(idx + 1); @@ -434,8 +433,7 @@ Properties::getProperty(tchar const * key) const tstring Properties::getProperty(const tstring& key, const tstring& defaultVal) const { - auto it (data.find (key)); - if (it == data.end ()) + if (auto it {data.find (key)}; it == data.end ()) return defaultVal; else return it->second; @@ -543,8 +541,7 @@ template log4cplus::tstring const & Properties::get_property_worker (StringType const & key) const { - auto it (data.find (key)); - if (it == data.end ()) + if (auto it {data.find (key)}; it == data.end ()) return log4cplus::internal::empty_str; else return it->second; @@ -564,11 +561,9 @@ Properties::get_type_val_worker (ValType & val, log4cplus::tstring const & key) ValType tmp_val; tchar ch; - iss >> tmp_val; - if (! iss) + if (iss >> tmp_val; ! iss) return false; - iss >> ch; - if (iss) + if (iss >> ch; iss) return false; val = tmp_val; From 0e937610079d1f48f4bd675dc6acd3e422fb38c4 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 8 Nov 2024 23:07:32 +0100 Subject: [PATCH 308/353] Use structured binding declarations. --- src/mdc.cxx | 9 ++++----- src/patternlayout.cxx | 5 +---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/mdc.cxx b/src/mdc.cxx index 729ca5001..3b11d155b 100644 --- a/src/mdc.cxx +++ b/src/mdc.cxx @@ -87,13 +87,13 @@ insert_or_assign (Map & map, Key && key, Value && value) -> std::optional { using ValueType = typename Map::mapped_type; - auto result = map.emplace (std::forward(key), + auto [it, inserted] = map.emplace (std::forward(key), std::forward (value)); - if (result.second) + if (inserted) return std::optional (); else { - auto & map_value = result.first->second; + auto & map_value = it->second; ValueType old_value {std::move (map_value)}; map_value = std::forward (value); return std::optional (std::move (old_value)); @@ -122,8 +122,7 @@ static void push_to_stack (StackMap & stacks_map, Key && key, Value && value) { - auto it = stacks_map.find (key); - if (it != stacks_map.end ()) + if (auto it = stacks_map.find (key); it != stacks_map.end ()) { MappedDiagnosticContextStack & stack = it->second; stack.emplace_back (std::forward (value)); diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 619fca093..231ce8cce 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -647,11 +647,8 @@ log4cplus::pattern::MDCPatternConverter::convert (tstring & result, result.clear (); MappedDiagnosticContextMap const & mdcMap = event.getMDCCopy(); - for (auto const & kv : mdcMap) + for (auto const & [name, value] : mdcMap) { - tstring const & name = kv.first; - tstring const & value = kv.second; - result += LOG4CPLUS_TEXT("{"); result += name; result += LOG4CPLUS_TEXT(", "); From 98834f1f3fca9b3e552d53d2c3422a5d1a088d6a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 9 Nov 2024 00:08:50 +0100 Subject: [PATCH 309/353] Make FilterResult a scoped enum. --- include/log4cplus/spi/filter.h | 2 +- src/appender.cxx | 2 +- src/filter.cxx | 143 +++++++++++++++++++-------------- tests/filter_test/main.cxx | 8 +- 4 files changed, 87 insertions(+), 68 deletions(-) diff --git a/include/log4cplus/spi/filter.h b/include/log4cplus/spi/filter.h index 655599948..6dc497c75 100644 --- a/include/log4cplus/spi/filter.h +++ b/include/log4cplus/spi/filter.h @@ -49,7 +49,7 @@ namespace log4cplus { namespace spi { - enum FilterResult { DENY, /**< The log event must be dropped immediately + enum class FilterResult { DENY, /**< The log event must be dropped immediately * without consulting with the remaining * filters, if any, in the chain. */ NEUTRAL, /**< This filter is neutral with respect to diff --git a/src/appender.cxx b/src/appender.cxx index 971cc3411..efd3702c3 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -364,7 +364,7 @@ Appender::syncDoAppend(const log4cplus::spi::InternalLoggingEvent& event) // Evaluate filters attached to this appender. - if (checkFilter(filter.get(), event) == spi::DENY) + if (checkFilter(filter.get(), event) == spi::FilterResult::DENY) return; // Lock system wide lock. diff --git a/src/filter.cxx b/src/filter.cxx index d2f84da95..4c08884cb 100644 --- a/src/filter.cxx +++ b/src/filter.cxx @@ -45,14 +45,14 @@ checkFilter(const Filter* filter, const InternalLoggingEvent& event) const Filter* currentFilter = filter; while(currentFilter) { FilterResult result = currentFilter->decide(event); - if(result != NEUTRAL) { + if(result != FilterResult::NEUTRAL) { return result; } currentFilter = currentFilter->next.get(); } - return ACCEPT; + return FilterResult::ACCEPT; } @@ -92,7 +92,7 @@ DenyAllFilter::DenyAllFilter (const helpers::Properties&) FilterResult DenyAllFilter::decide(const InternalLoggingEvent&) const { - return DENY; + return FilterResult::DENY; } @@ -132,16 +132,16 @@ FilterResult LogLevelMatchFilter::decide(const InternalLoggingEvent& event) const { if(logLevelToMatch == NOT_SET_LOG_LEVEL) { - return NEUTRAL; + return FilterResult::NEUTRAL; } bool matchOccured = (logLevelToMatch == event.getLogLevel()); if(matchOccured) { - return (acceptOnMatch ? ACCEPT : DENY); + return (acceptOnMatch ? FilterResult::ACCEPT : FilterResult::DENY); } else { - return NEUTRAL; + return FilterResult::NEUTRAL; } } @@ -189,22 +189,22 @@ LogLevelRangeFilter::decide(const InternalLoggingEvent& event) const LogLevel const eventLogLevel = event.getLogLevel (); if((logLevelMin != NOT_SET_LOG_LEVEL) && (eventLogLevel < logLevelMin)) { // priority of event is less than minimum - return DENY; + return FilterResult::DENY; } if((logLevelMax != NOT_SET_LOG_LEVEL) && (eventLogLevel > logLevelMax)) { // priority of event is greater than maximum - return DENY; + return FilterResult::DENY; } if(acceptOnMatch) { // this filter set up to bypass later filters and always return // accept if priority in range - return ACCEPT; + return FilterResult::ACCEPT; } else { // event is ok for this filter; allow later filters to have a look... - return NEUTRAL; + return FilterResult::NEUTRAL; } } @@ -243,14 +243,14 @@ StringMatchFilter::decide(const InternalLoggingEvent& event) const const tstring& message = event.getMessage(); if(stringToMatch.empty () || message.empty ()) { - return NEUTRAL; + return FilterResult::NEUTRAL; } if(message.find(stringToMatch) == tstring::npos) { - return NEUTRAL; + return FilterResult::NEUTRAL; } else { // we've got a match - return (acceptOnMatch ? ACCEPT : DENY); + return (acceptOnMatch ? FilterResult::ACCEPT : FilterResult::DENY); } } @@ -301,13 +301,13 @@ FilterResult NDCMatchFilter::decide(const InternalLoggingEvent& event) const if(neutralOnEmpty && (ndcToMatch.empty () || ndcStr.empty())) { - return NEUTRAL; + return FilterResult::NEUTRAL; } if(ndcStr == ndcToMatch) - return (acceptOnMatch ? ACCEPT : DENY); + return (acceptOnMatch ? FilterResult::ACCEPT : FilterResult::DENY); - return (acceptOnMatch ? DENY : ACCEPT); + return (acceptOnMatch ? FilterResult::DENY : FilterResult::ACCEPT); } // @@ -339,17 +339,17 @@ void MDCMatchFilter::init() FilterResult MDCMatchFilter::decide(const InternalLoggingEvent& event) const { if(neutralOnEmpty && (mdcKeyToMatch.empty() || mdcValueToMatch.empty())) - return NEUTRAL; + return FilterResult::NEUTRAL; const tstring& mdcStr = event.getMDC(mdcKeyToMatch); if(neutralOnEmpty && mdcStr.empty()) - return NEUTRAL; + return FilterResult::NEUTRAL; if(mdcStr == mdcValueToMatch) - return (acceptOnMatch ? ACCEPT : DENY); + return (acceptOnMatch ? FilterResult::ACCEPT : FilterResult::DENY); - return (acceptOnMatch ? DENY : ACCEPT); + return (acceptOnMatch ? FilterResult::DENY : FilterResult::ACCEPT); } @@ -380,8 +380,9 @@ CATCH_TEST_CASE ("Filter", "[filter]") CATCH_SECTION ("deny all filter") { filter = new DenyAllFilter; - CATCH_REQUIRE (filter->decide (info_ev) == DENY); - CATCH_REQUIRE (checkFilter (filter.get (), info_ev) == DENY); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::DENY); + CATCH_REQUIRE (checkFilter (filter.get (), info_ev) + == FilterResult::DENY); } CATCH_SECTION ("log level match filter") @@ -392,8 +393,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("LogLevelToMatch"), LOG4CPLUS_TEXT ("INFO")); filter = new LogLevelMatchFilter (props); - CATCH_REQUIRE (filter->decide (info_ev) == ACCEPT); - CATCH_REQUIRE (filter->decide (error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::ACCEPT); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::NEUTRAL); } CATCH_SECTION ("deny level") @@ -404,8 +405,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), LOG4CPLUS_TEXT ("false")); filter = new LogLevelMatchFilter (props); - CATCH_REQUIRE (filter->decide (info_ev) == DENY); - CATCH_REQUIRE (filter->decide (error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::DENY); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::NEUTRAL); } } @@ -419,10 +420,10 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("LogLevelMax"), LOG4CPLUS_TEXT ("ERROR")); filter = new LogLevelRangeFilter (props); - CATCH_REQUIRE (filter->decide (info_ev) == DENY); - CATCH_REQUIRE (filter->decide (warn_ev) == ACCEPT); - CATCH_REQUIRE (filter->decide (error_ev) == ACCEPT); - CATCH_REQUIRE (filter->decide (fatal_ev) == DENY); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::DENY); + CATCH_REQUIRE (filter->decide (warn_ev) == FilterResult::ACCEPT); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::ACCEPT); + CATCH_REQUIRE (filter->decide (fatal_ev) == FilterResult::DENY); } CATCH_SECTION ("deny out of range") @@ -435,10 +436,10 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), LOG4CPLUS_TEXT ("false")); filter = new LogLevelRangeFilter (props); - CATCH_REQUIRE (filter->decide (info_ev) == DENY); - CATCH_REQUIRE (filter->decide (warn_ev) == NEUTRAL); - CATCH_REQUIRE (filter->decide (error_ev) == NEUTRAL); - CATCH_REQUIRE (filter->decide (fatal_ev) == DENY); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::DENY); + CATCH_REQUIRE (filter->decide (warn_ev) == FilterResult::NEUTRAL); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::NEUTRAL); + CATCH_REQUIRE (filter->decide (fatal_ev) == FilterResult::DENY); } } @@ -447,8 +448,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") CATCH_SECTION ("empty string to match is neutral") { filter = new StringMatchFilter; - CATCH_REQUIRE (filter->decide (info_ev) == NEUTRAL); - CATCH_REQUIRE (filter->decide (error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::NEUTRAL); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::NEUTRAL); } CATCH_SECTION ("not found is neutral") @@ -457,8 +458,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("StringToMatch"), LOG4CPLUS_TEXT ("nonexistent")); filter = new StringMatchFilter (props); - CATCH_REQUIRE (filter->decide (info_ev) == NEUTRAL); - CATCH_REQUIRE (filter->decide (error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::NEUTRAL); + CATCH_REQUIRE (filter->decide (error_ev) == FilterResult::NEUTRAL); } CATCH_SECTION ("empty event is neutral") @@ -467,7 +468,7 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("StringToMatch"), LOG4CPLUS_TEXT ("message")); filter = new StringMatchFilter (props); - CATCH_REQUIRE (filter->decide (empty_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (empty_ev) == FilterResult::NEUTRAL); } CATCH_SECTION ("deny on match") @@ -478,9 +479,9 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), LOG4CPLUS_TEXT ("false")); filter = new StringMatchFilter (props); - CATCH_REQUIRE (filter->decide (empty_ev) == NEUTRAL); - CATCH_REQUIRE (filter->decide (info_ev) == DENY); - CATCH_REQUIRE (filter->decide (warn_ev) == DENY); + CATCH_REQUIRE (filter->decide (empty_ev) == FilterResult::NEUTRAL); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::DENY); + CATCH_REQUIRE (filter->decide (warn_ev) == FilterResult::DENY); } } @@ -488,10 +489,11 @@ CATCH_TEST_CASE ("Filter", "[filter]") { filter = new FunctionFilter ( [](InternalLoggingEvent const & ev) noexcept -> FilterResult { - return ev.getLogLevel () >= INFO_LOG_LEVEL ? ACCEPT : DENY; + return ev.getLogLevel () >= INFO_LOG_LEVEL + ? FilterResult::ACCEPT : FilterResult::DENY; }); - CATCH_REQUIRE (filter->decide (info_ev) == ACCEPT); - CATCH_REQUIRE (filter->decide (debug_ev) == DENY); + CATCH_REQUIRE (filter->decide (info_ev) == FilterResult::ACCEPT); + CATCH_REQUIRE (filter->decide (debug_ev) == FilterResult::DENY); } @@ -505,7 +507,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") CATCH_SECTION ("string to match is empty, is neutral") { filter = new NDCMatchFilter; - CATCH_REQUIRE (filter->decide (ndc_error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::NEUTRAL); } CATCH_SECTION ("ndc string empty, is neutral") @@ -514,7 +517,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), LOG4CPLUS_TEXT ("ndc-match")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::NEUTRAL); } CATCH_SECTION ("ndc string match, is accept") @@ -524,7 +528,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), LOG4CPLUS_TEXT ("ndc-match")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::ACCEPT); log4cplus::NDC().pop_void(); } @@ -535,7 +540,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), LOG4CPLUS_TEXT ("no-match")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::DENY); log4cplus::NDC().pop_void(); } @@ -549,7 +555,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), LOG4CPLUS_TEXT ("False")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::DENY); log4cplus::NDC().pop_void(); } @@ -562,7 +569,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("AcceptOnMatch"), LOG4CPLUS_TEXT ("False")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::ACCEPT); log4cplus::NDC().pop_void(); } } @@ -575,7 +583,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), LOG4CPLUS_TEXT ("False")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::ACCEPT); } CATCH_SECTION ("ndc string empty, match not empty is deny") @@ -586,7 +595,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NDCToMatch"), LOG4CPLUS_TEXT ("ndc-match")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::DENY); } CATCH_SECTION ("ndc string no empty, match empty is deny") @@ -596,7 +606,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), LOG4CPLUS_TEXT ("False")); filter = new NDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (ndc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (ndc_error_ev) + == FilterResult::DENY); log4cplus::NDC().pop_void(); } } @@ -615,14 +626,16 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), LOG4CPLUS_TEXT ("mdc-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::NEUTRAL); } CATCH_SECTION ("MDCValueToMatch empty, is neutral") { log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); filter = new MDCMatchFilter; - CATCH_REQUIRE (filter->decide (mdc_error_ev) == NEUTRAL); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::NEUTRAL); log4cplus::MDC().clear(); } @@ -635,7 +648,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") LOG4CPLUS_TEXT ("KeyToMatch")); log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::ACCEPT); log4cplus::MDC().clear(); } @@ -648,7 +662,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") LOG4CPLUS_TEXT ("KeyToMatch")); log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-no-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::DENY); log4cplus::MDC().clear(); } @@ -663,7 +678,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") LOG4CPLUS_TEXT ("KeyToMatch")); log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::DENY); log4cplus::MDC().clear(); } @@ -678,7 +694,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") LOG4CPLUS_TEXT ("KeyToMatch")); log4cplus::MDC().put(LOG4CPLUS_TEXT ("KeyToMatch"), LOG4CPLUS_TEXT ("mdc-no-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::ACCEPT); log4cplus::MDC().clear(); } } @@ -691,7 +708,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("NeutralOnEmpty"), LOG4CPLUS_TEXT ("False")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == ACCEPT); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::ACCEPT); } CATCH_SECTION ("mdc key/value empty, MDC value to match not empty is deny") @@ -702,7 +720,8 @@ CATCH_TEST_CASE ("Filter", "[filter]") props.setProperty (LOG4CPLUS_TEXT ("MDCValueToMatch"), LOG4CPLUS_TEXT ("mdc-match")); filter = new MDCMatchFilter(props); - CATCH_REQUIRE (filter->decide (mdc_error_ev) == DENY); + CATCH_REQUIRE (filter->decide (mdc_error_ev) + == FilterResult::DENY); } } } diff --git a/tests/filter_test/main.cxx b/tests/filter_test/main.cxx index 5923e117a..6e403d421 100644 --- a/tests/filter_test/main.cxx +++ b/tests/filter_test/main.cxx @@ -53,21 +53,21 @@ test_2 (Logger & root) LOG4CPLUS_TEXT ("function filter: going neutral on event: ") + msg); - return NEUTRAL; + return FilterResult::NEUTRAL; } else if (msg == LOG4CPLUS_TEXT ("visible")) { getLogLog ().debug ( LOG4CPLUS_TEXT ("function filter: accepting event: ") + msg); - return ACCEPT; + return FilterResult::ACCEPT; } else { getLogLog ().debug ( LOG4CPLUS_TEXT ("function filter: denying event: ") + msg); - return DENY; + return FilterResult::DENY; } }; @@ -93,7 +93,7 @@ test_3 (Logger & root) getLogLog ().debug ( LOG4CPLUS_TEXT ("function filter: accepting event: ") + event.getMessage ()); - return ACCEPT; + return FilterResult::ACCEPT; }); root.addAppender (std::move (appender)); } From 3ac0f539b750dc386200f0fa052a910cda9d8572 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 9 Nov 2024 00:15:51 +0100 Subject: [PATCH 310/353] Make SocketState a scoped enum. --- include/log4cplus/helpers/socket.h | 2 +- src/socket-unix.cxx | 21 ++++++++++++--------- src/socket-win32.cxx | 13 +++++++------ src/socket.cxx | 4 ++-- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/include/log4cplus/helpers/socket.h b/include/log4cplus/helpers/socket.h index 323adbebc..a860565f3 100644 --- a/include/log4cplus/helpers/socket.h +++ b/include/log4cplus/helpers/socket.h @@ -40,7 +40,7 @@ namespace log4cplus { namespace helpers { - enum SocketState { ok, + enum class SocketState { ok, not_opened, bad_address, connection_failed, diff --git a/src/socket-unix.cxx b/src/socket-unix.cxx index 5670a8b09..8b3ae5ff6 100644 --- a/src/socket-unix.cxx +++ b/src/socket-unix.cxx @@ -185,7 +185,7 @@ openSocket(tstring const & host, unsigned short port, bool udp, bool ipv6, if (::listen(sock_holder.sock, 10)) return INVALID_SOCKET_VALUE; - state = ok; + state = SocketState::ok; return to_log4cplus_socket (sock_holder.detach ()); } @@ -243,7 +243,7 @@ connectSocket(const tstring& hostn, unsigned short port, bool udp, bool ipv6, // No address succeeded. return INVALID_SOCKET_VALUE; - state = ok; + state = SocketState::ok; return to_log4cplus_socket (sock_holder.detach ()); } @@ -338,7 +338,7 @@ acceptSocket(SOCKET_TYPE sock, SocketState& state) ; if(clientSock != INVALID_OS_SOCKET_VALUE) { - state = ok; + state = SocketState::ok; } return to_log4cplus_socket (clientSock); @@ -556,7 +556,7 @@ ServerSocket::ServerSocket(unsigned short port, bool udp /*= false*/, error:; err = get_last_socket_error (); - state = not_opened; + state = SocketState::not_opened; if (sock != INVALID_SOCKET_VALUE) closeSocket (sock); @@ -598,7 +598,7 @@ ServerSocket::accept () continue; set_last_socket_error (errno); - return Socket (INVALID_SOCKET_VALUE, not_opened, errno); + return Socket (INVALID_SOCKET_VALUE, SocketState::not_opened, errno); // Timeout. This should not happen though. case 0: @@ -624,12 +624,14 @@ ServerSocket::accept () LOG4CPLUS_TEXT ("ServerSocket::accept- read() failed: ") + helpers::convertIntegerToString (eno)); set_last_socket_error (eno); - return Socket (INVALID_SOCKET_VALUE, not_opened, eno); + return Socket (INVALID_SOCKET_VALUE, + SocketState::not_opened, eno); } // Return Socket with state set to accept_interrupted. - return Socket (INVALID_SOCKET_VALUE, accept_interrupted, 0); + return Socket (INVALID_SOCKET_VALUE, + SocketState::accept_interrupted, 0); } else if ((accept_fd.revents & POLLIN) == POLLIN) { @@ -637,7 +639,7 @@ ServerSocket::accept () LOG4CPLUS_TEXT ("ServerSocket::accept- ") LOG4CPLUS_TEXT ("accepting connection")); - SocketState st = not_opened; + SocketState st = SocketState::not_opened; SOCKET_TYPE clientSock = acceptSocket (sock, st); int eno = 0; if (clientSock == INVALID_SOCKET_VALUE) @@ -646,7 +648,8 @@ ServerSocket::accept () return Socket (clientSock, st, eno); } else - return Socket (INVALID_SOCKET_VALUE, not_opened, 0); + return Socket (INVALID_SOCKET_VALUE, SocketState::not_opened, + 0); } } while (true); diff --git a/src/socket-win32.cxx b/src/socket-win32.cxx index 1a8132e47..de28dd385 100644 --- a/src/socket-win32.cxx +++ b/src/socket-win32.cxx @@ -211,7 +211,7 @@ openSocket(tstring const & host, unsigned short port, bool udp, bool ipv6, if (::listen(sock_holder.sock, 10) != 0) goto error; - state = ok; + state = SocketState::ok; return to_log4cplus_socket (sock_holder.detach()); error: @@ -281,7 +281,7 @@ connectSocket(const tstring& hostn, unsigned short port, bool udp, bool ipv6, return INVALID_SOCKET_VALUE; } - state = ok; + state = SocketState::ok; return to_log4cplus_socket (sock_holder.detach()); } @@ -294,7 +294,7 @@ acceptSocket(SOCKET_TYPE sock, SocketState & state) SOCKET connected_socket = ::accept (to_os_socket (sock), nullptr, nullptr); if (connected_socket != INVALID_OS_SOCKET_VALUE) - state = ok; + state = SocketState::ok; else set_last_socket_error (WSAGetLastError ()); @@ -637,7 +637,8 @@ ServerSocket::accept () // Return Socket with state set to accept_interrupted. - return Socket (INVALID_SOCKET_VALUE, accept_interrupted, 0); + return Socket (INVALID_SOCKET_VALUE, + SocketState::accept_interrupted, 0); } // This is accept_ev. @@ -649,7 +650,7 @@ ServerSocket::accept () // Finally, call accept(). - SocketState st = not_opened; + SocketState st = SocketState::not_opened; SOCKET_TYPE clientSock = acceptSocket (sock, st); int eno = 0; if (clientSock == INVALID_SOCKET_VALUE) @@ -682,7 +683,7 @@ error:; WSACloseEvent (accept_ev); set_last_socket_error (eno); - return Socket (INVALID_SOCKET_VALUE, not_opened, eno); + return Socket (INVALID_SOCKET_VALUE, SocketState::not_opened, eno); } diff --git a/src/socket.cxx b/src/socket.cxx index 82e5f5080..5b0190567 100644 --- a/src/socket.cxx +++ b/src/socket.cxx @@ -43,7 +43,7 @@ extern LOG4CPLUS_EXPORT SOCKET_TYPE const INVALID_SOCKET_VALUE AbstractSocket::AbstractSocket() : sock(INVALID_SOCKET_VALUE), - state(not_opened), + state(SocketState::not_opened), err(0) { } @@ -84,7 +84,7 @@ AbstractSocket::close() { closeSocket(sock); sock = INVALID_SOCKET_VALUE; - state = not_opened; + state = SocketState::not_opened; } } From 7aeda68ee86f88a9a2c1cd3df14790ba0b11a88e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 9 Nov 2024 00:20:31 +0100 Subject: [PATCH 311/353] Make DailyRollingFileSchedule a scoped enum. --- include/log4cplus/fileappender.h | 4 +- src/fileappender.cxx | 68 ++++++++++++++++---------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/include/log4cplus/fileappender.h b/include/log4cplus/fileappender.h index c82a76ac0..c2b22ef20 100644 --- a/include/log4cplus/fileappender.h +++ b/include/log4cplus/fileappender.h @@ -269,7 +269,7 @@ namespace log4cplus SharedRollingFileAppenderPtr; - enum DailyRollingFileSchedule { MONTHLY, WEEKLY, DAILY, + enum class DailyRollingFileSchedule { MONTHLY, WEEKLY, DAILY, TWICE_DAILY, HOURLY, MINUTELY}; /** @@ -312,7 +312,7 @@ namespace log4cplus public: // Ctors DailyRollingFileAppender(const log4cplus::tstring& filename, - DailyRollingFileSchedule schedule = DAILY, + DailyRollingFileSchedule schedule = DailyRollingFileSchedule::DAILY, bool immediateFlush = true, int maxBackupIndex = 10, bool createDirs = false, diff --git a/src/fileappender.cxx b/src/fileappender.cxx index 7c759508e..8417eebd5 100644 --- a/src/fileappender.cxx +++ b/src/fileappender.cxx @@ -631,28 +631,28 @@ DailyRollingFileAppender::DailyRollingFileAppender( , maxBackupIndex(10) , rollOnClose(true) { - DailyRollingFileSchedule theSchedule = DAILY; + DailyRollingFileSchedule theSchedule = DailyRollingFileSchedule::DAILY; tstring scheduleStr (helpers::toUpper ( properties.getProperty (LOG4CPLUS_TEXT ("Schedule")))); if(scheduleStr == LOG4CPLUS_TEXT("MONTHLY")) - theSchedule = MONTHLY; + theSchedule = DailyRollingFileSchedule::MONTHLY; else if(scheduleStr == LOG4CPLUS_TEXT("WEEKLY")) - theSchedule = WEEKLY; + theSchedule = DailyRollingFileSchedule::WEEKLY; else if(scheduleStr == LOG4CPLUS_TEXT("DAILY")) - theSchedule = DAILY; + theSchedule = DailyRollingFileSchedule::DAILY; else if(scheduleStr == LOG4CPLUS_TEXT("TWICE_DAILY")) - theSchedule = TWICE_DAILY; + theSchedule = DailyRollingFileSchedule::TWICE_DAILY; else if(scheduleStr == LOG4CPLUS_TEXT("HOURLY")) - theSchedule = HOURLY; + theSchedule = DailyRollingFileSchedule::HOURLY; else if(scheduleStr == LOG4CPLUS_TEXT("MINUTELY")) - theSchedule = MINUTELY; + theSchedule = DailyRollingFileSchedule::MINUTELY; else { helpers::getLogLog().warn( LOG4CPLUS_TEXT("DailyRollingFileAppender::ctor()") LOG4CPLUS_TEXT("- \"Schedule\" not valid: ") + properties.getProperty(LOG4CPLUS_TEXT("Schedule"))); - theSchedule = DAILY; + theSchedule = DailyRollingFileSchedule::DAILY; } properties.getBool (rollOnClose, LOG4CPLUS_TEXT("RollOnClose")); @@ -852,7 +852,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) struct tm next; switch(schedule) { - case MONTHLY: + case DailyRollingFileSchedule::MONTHLY: { helpers::localTime (&next, t); next.tm_mon += 1; @@ -880,7 +880,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) return ret; } - case WEEKLY: + case DailyRollingFileSchedule::WEEKLY: { helpers::localTime (&next, t); // Round up to next week @@ -914,7 +914,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) LOG4CPLUS_TEXT (" unhandled or invalid schedule value")); [[fallthrough]]; - case DAILY: + case DailyRollingFileSchedule::DAILY: { helpers::localTime(&next, t); next.tm_mday += 1; @@ -942,7 +942,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) return ret; } - case TWICE_DAILY: + case DailyRollingFileSchedule::TWICE_DAILY: { helpers::localTime(&next, t); if (next.tm_hour < 12) @@ -972,7 +972,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) return ret; } - case HOURLY: + case DailyRollingFileSchedule::HOURLY: { helpers::localTime(&next, t); next.tm_hour += 1; @@ -999,7 +999,7 @@ calculateNextRolloverTime(const Time& t, DailyRollingFileSchedule schedule) return ret; } - case MINUTELY: + case DailyRollingFileSchedule::MINUTELY: return round_time_and_add (t, chrono::seconds (60)); }; } @@ -1021,11 +1021,11 @@ DailyRollingFileAppender::getFilename(const Time& t) const { switch (schedule) { - case MONTHLY: + case DailyRollingFileSchedule::MONTHLY: pattern = LOG4CPLUS_TEXT("%Y-%m"); break; - case WEEKLY: + case DailyRollingFileSchedule::WEEKLY: pattern = LOG4CPLUS_TEXT("%Y-%W"); break; @@ -1035,19 +1035,19 @@ DailyRollingFileAppender::getFilename(const Time& t) const LOG4CPLUS_TEXT (" invalid schedule value")); [[fallthrough]]; - case DAILY: + case DailyRollingFileSchedule::DAILY: pattern = LOG4CPLUS_TEXT("%Y-%m-%d"); break; - case TWICE_DAILY: + case DailyRollingFileSchedule::TWICE_DAILY: pattern = LOG4CPLUS_TEXT("%Y-%m-%d-%p"); break; - case HOURLY: + case DailyRollingFileSchedule::HOURLY: pattern = LOG4CPLUS_TEXT("%Y-%m-%d-%H"); break; - case MINUTELY: + case DailyRollingFileSchedule::MINUTELY: pattern = LOG4CPLUS_TEXT("%Y-%m-%d-%H-%M"); break; }; @@ -1200,15 +1200,15 @@ preprocessDateTimePattern(const tstring_view& pattern, DailyRollingFileSchedule& if (aux_len == 0) { if (has_minute) - schedule = MINUTELY; + schedule = DailyRollingFileSchedule::MINUTELY; else if (has_hour) - schedule = HOURLY; + schedule = DailyRollingFileSchedule::HOURLY; else if (has_day) - schedule = DAILY; + schedule = DailyRollingFileSchedule::DAILY; else if (has_week) - schedule = WEEKLY; + schedule = DailyRollingFileSchedule::WEEKLY; else - schedule = MONTHLY; + schedule = DailyRollingFileSchedule::MONTHLY; } return result.str(); @@ -1275,7 +1275,7 @@ TimeBasedRollingFileAppender::TimeBasedRollingFileAppender( bool rollOnClose_) : FileAppenderBase(filename_, std::ios_base::app, immediateFlush_, createDirs_) , filenamePattern(filenamePattern_) - , schedule(DAILY) + , schedule(DailyRollingFileSchedule::DAILY) , maxHistory(maxHistory_) , cleanHistoryOnStart(cleanHistoryOnStart_) , rollOnClose(rollOnClose_) @@ -1288,7 +1288,7 @@ TimeBasedRollingFileAppender::TimeBasedRollingFileAppender( const log4cplus::helpers::Properties& properties) : FileAppenderBase(properties, std::ios_base::app) , filenamePattern(LOG4CPLUS_TEXT("%d.log")) - , schedule(DAILY) + , schedule(DailyRollingFileSchedule::DAILY) , maxHistory(10) , cleanHistoryOnStart(false) , rollOnClose(true) @@ -1457,20 +1457,20 @@ TimeBasedRollingFileAppender::getRolloverPeriodDuration() const { switch (schedule) { - case MONTHLY: + case DailyRollingFileSchedule::MONTHLY: return std::chrono::hours{31*24}; - case WEEKLY: + case DailyRollingFileSchedule::WEEKLY: return std::chrono::hours{7*24}; default: helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("TimeBasedRollingFileAppender::getRolloverPeriodDuration()-") LOG4CPLUS_TEXT (" invalid schedule value")); [[fallthrough]]; - case DAILY: + case DailyRollingFileSchedule::DAILY: return std::chrono::hours{24}; - case HOURLY: + case DailyRollingFileSchedule::HOURLY: return std::chrono::hours{1}; - case MINUTELY: + case DailyRollingFileSchedule::MINUTELY: return std::chrono::minutes{1}; } } @@ -1493,7 +1493,7 @@ CATCH_TEST_CASE ("TimeBasedRollingFileAppender", "[appender]") CATCH_REQUIRE (preprocessDateTimePattern( LOG4CPLUS_TEXT ("yyyy-MM-dd"), schedule) == LOG4CPLUS_TEXT ("%Y-%m-%d")); - CATCH_REQUIRE (schedule == DAILY); + CATCH_REQUIRE (schedule == DailyRollingFileSchedule::DAILY); } CATCH_SECTION ("file name pattern preprocessing") @@ -1502,7 +1502,7 @@ CATCH_TEST_CASE ("TimeBasedRollingFileAppender", "[appender]") CATCH_REQUIRE (preprocessFilenamePattern( LOG4CPLUS_TEXT ("log-%d{yyyy-MM-dd}"), schedule) == LOG4CPLUS_TEXT ("log-%Y-%m-%d")); - CATCH_REQUIRE (schedule == DAILY); + CATCH_REQUIRE (schedule == DailyRollingFileSchedule::DAILY); } } From b91c12d76899d68fb27b2e35282f766ed8319ce2 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 11 Nov 2024 20:28:35 +0100 Subject: [PATCH 312/353] Use UZ for std::size_t literal values. --- include/log4cplus/socketappender.h | 4 ++-- src/stringhelper-clocale.cxx | 2 +- src/stringhelper-iconv.cxx | 2 +- src/timehelper.cxx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index 17d77b7cb..06790b820 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -41,9 +41,9 @@ namespace log4cplus { #ifndef UNICODE - std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 8*1024; + std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 8UZ*1024; #else - std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 2*8*1024; + std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 2UZ*8*1024; #endif diff --git a/src/stringhelper-clocale.cxx b/src/stringhelper-clocale.cxx index 91a5210d2..2b8708e84 100644 --- a/src/stringhelper-clocale.cxx +++ b/src/stringhelper-clocale.cxx @@ -58,7 +58,7 @@ tostring_internal (std::string & result, wchar_t const * src, std::size_t size) while (src_it != src_end_it) { std::size_t ret = std::wcrtomb (&result_buf[0], *src_it, &mbs); - if (ret == static_cast(-1)) + if (ret == -1UZ) { result.push_back ('?'); clear_mbstate (mbs); diff --git a/src/stringhelper-iconv.cxx b/src/stringhelper-iconv.cxx index 59a20ef1f..256258375 100644 --- a/src/stringhelper-iconv.cxx +++ b/src/stringhelper-iconv.cxx @@ -179,7 +179,7 @@ iconv_conv (std::basic_string & result, char const * destenc, std::size_t outbytesleft = result_size * sizeof (outbuf_type); std::size_t res; - std::size_t const error_retval = static_cast(-1); + std::size_t const error_retval = -1UZ; while (inbytesleft != 0) { diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 663f1d71f..9790d0c14 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -280,7 +280,7 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, // both too small buffer and invalid format string by returning 0 // without changing errno. std::size_t const buffer_size_max - = (std::max) (static_cast(1024), buffer_size * 16); + = (std::max) (1024UZ, buffer_size * 16); buffer_size = (std::max) (buffer_size, gft_sp.buffer.capacity()); From 121f53a4b9cc72a28c1a690c14d1d87dc2ed93a6 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 11 Nov 2024 21:46:17 +0100 Subject: [PATCH 313/353] Try and add /std:c++latest for MSVC. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b31883f96..3a19bc2fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ enable_language (CXX) if (MSVC) set (CMAKE_CXX_STANDARD 23) if (CMAKE_VS_PLATFORM_NAME MATCHES "ARM") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++latest") endif () else () set (CMAKE_CXX_STANDARD 23) From 11066ad8d89574a153e69df4b00a86fef10de37f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 11 Nov 2024 21:57:11 +0100 Subject: [PATCH 314/353] Revert "Try and add /std:c++latest for MSVC." This reverts commit 121f53a4b9cc72a28c1a690c14d1d87dc2ed93a6. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a19bc2fe..b31883f96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ enable_language (CXX) if (MSVC) set (CMAKE_CXX_STANDARD 23) if (CMAKE_VS_PLATFORM_NAME MATCHES "ARM") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++latest") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") endif () else () set (CMAKE_CXX_STANDARD 23) From 446bd551d2bb5e5a75fe3b9669f366397e6e1bcd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 11 Nov 2024 21:57:43 +0100 Subject: [PATCH 315/353] Revert "Use UZ for std::size_t literal values." Visual Studio 2022 compiler does not support this. This reverts commit b91c12d76899d68fb27b2e35282f766ed8319ce2. --- include/log4cplus/socketappender.h | 4 ++-- src/stringhelper-clocale.cxx | 2 +- src/stringhelper-iconv.cxx | 2 +- src/timehelper.cxx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index 06790b820..17d77b7cb 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -41,9 +41,9 @@ namespace log4cplus { #ifndef UNICODE - std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 8UZ*1024; + std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 8*1024; #else - std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 2UZ*8*1024; + std::size_t const LOG4CPLUS_MAX_MESSAGE_SIZE = 2*8*1024; #endif diff --git a/src/stringhelper-clocale.cxx b/src/stringhelper-clocale.cxx index 2b8708e84..91a5210d2 100644 --- a/src/stringhelper-clocale.cxx +++ b/src/stringhelper-clocale.cxx @@ -58,7 +58,7 @@ tostring_internal (std::string & result, wchar_t const * src, std::size_t size) while (src_it != src_end_it) { std::size_t ret = std::wcrtomb (&result_buf[0], *src_it, &mbs); - if (ret == -1UZ) + if (ret == static_cast(-1)) { result.push_back ('?'); clear_mbstate (mbs); diff --git a/src/stringhelper-iconv.cxx b/src/stringhelper-iconv.cxx index 256258375..59a20ef1f 100644 --- a/src/stringhelper-iconv.cxx +++ b/src/stringhelper-iconv.cxx @@ -179,7 +179,7 @@ iconv_conv (std::basic_string & result, char const * destenc, std::size_t outbytesleft = result_size * sizeof (outbuf_type); std::size_t res; - std::size_t const error_retval = -1UZ; + std::size_t const error_retval = static_cast(-1); while (inbytesleft != 0) { diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 9790d0c14..663f1d71f 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -280,7 +280,7 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, // both too small buffer and invalid format string by returning 0 // without changing errno. std::size_t const buffer_size_max - = (std::max) (1024UZ, buffer_size * 16); + = (std::max) (static_cast(1024), buffer_size * 16); buffer_size = (std::max) (buffer_size, gft_sp.buffer.capacity()); From 10ce6699e5d2593bea9586708adb9709dcdac0ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 20 Nov 2024 08:07:01 +0100 Subject: [PATCH 316/353] README.md: We use C++23 now. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ca7a2cfc3..2f3c86a5f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Short Description ================= -[log4cplus] is a simple to use C++20 logging API providing thread--safe, +[log4cplus] is a simple to use C++23 logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration. It is modeled after the Java log4j API. @@ -36,11 +36,11 @@ from log4net, log4cxx, log4cpp). Platform support ================ -[log4cplus] version 3.0 and beyond require C++20. [log4cplus] has been +[log4cplus] version 3.0 and beyond require C++23. [log4cplus] has been ported to and tested on the following platforms: - - Linux/AMD64 with GCC version 8.3.0 (Ubuntu 8.3.0-6ubuntu1) - - Linux/AMD64 with Clang version 8.0.0-3 (tags/RELEASE_800/final) + - Linux/AMD64 with GCC version 13.2.0 (Ubuntu 13.2.0-23ubuntu4) + - Linux/AMD64 with Clang version 18.1.3 (18.1.3-1ubuntu1) - Windows/AMD64 with GCC version 4.8.2 (x86_64-posix-seh-rev3, Built by MinGW-W64 project) using CMake build system - Windows/AMD64 with GCC version 4.9.2 (tdm64-1) using CMake build system @@ -59,7 +59,7 @@ on Linux platform offered by [Travis CI][11] service. The oldest Windows version that is supported by 2.x releases is Windows Vista. The following platforms were supported by the 1.x series of [log4cplus]. They -either do not have a reasonable C++20 capable compiler or have not been checked +either do not have a reasonable C++23 capable compiler or have not been checked with [log4cplus] 3.x, yet: - Minix 3.3.0/i386 with Clang version 3.4 (branches/release_34) with @@ -635,7 +635,7 @@ Unsupported compilers and platforms [log4cplus] does not support too old or broken C++ compilers. Since [log4cplus] version 3.0.0, it means it does not support any platform or compiler without -decent C++20 support. +decent C++23 support. - Visual Studio prior to 2015 - GCC prior to 4.8 From cfbc62a7158f32a8424eff7afa562eb172ce305c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 21 Nov 2024 19:09:18 +0100 Subject: [PATCH 317/353] Fix multiple definition of `main' in simpleserver when compiling static library. Define CATCH_AMALGAMATED_CUSTOM_MAIN=1. Fixes #639. --- CMakeLists.txt | 3 +- Makefile.in | 106 ++++++++++++++++++++++++------------------------ src/Makefile.am | 3 ++ 3 files changed, 59 insertions(+), 53 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b31883f96..a04cb09df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,7 +116,8 @@ endif() option(WITH_UNIT_TESTS "Enable unit tests" ON) if (WITH_UNIT_TESTS) set (LOG4CPLUS_WITH_UNIT_TESTS 1) - add_compile_definitions (CATCH_CONFIG_PREFIX_ALL=1) + add_compile_definitions (CATCH_CONFIG_PREFIX_ALL=1 + CATCH_AMALGAMATED_CUSTOM_MAIN=1) if (WIN32) add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1 NOMINMAX=1) diff --git a/Makefile.in b/Makefile.in index 7de3d5c56..2027d5a59 100644 --- a/Makefile.in +++ b/Makefile.in @@ -109,51 +109,52 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @ENABLE_UNIT_TESTS_TRUE@ src/boost_tests.cxx \ @ENABLE_UNIT_TESTS_TRUE@ $(top_srcdir)/catch/extras/catch_amalgamated.cpp -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_2 = liblog4cplusU.la -@MULTI_THREADED_TRUE@am__append_3 = loggingserver -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_4 = loggingserverU -@QT_TRUE@am__append_5 = liblog4cplusqt4debugappender.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_6 = liblog4cplusqt4debugappenderU.la -@QT5_TRUE@am__append_7 = liblog4cplusqt5debugappender.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_8 = liblog4cplusqt5debugappenderU.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_9 = $(PYTHON_WRAPU_CXX) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = log4cplusU.py -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_11 = _log4cplusU.la -@ENABLE_TESTS_TRUE@am__append_12 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in -@ENABLE_TESTS_TRUE@am__append_13 = appender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_14 = appender_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_15 = configandwatch_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_16 = configandwatch_testU -@ENABLE_TESTS_TRUE@am__append_17 = customloglevel_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_18 = customloglevel_testU -@ENABLE_TESTS_TRUE@am__append_19 = fileappender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_20 = fileappender_testU -@ENABLE_TESTS_TRUE@am__append_21 = filter_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_22 = filter_testU -@ENABLE_TESTS_TRUE@am__append_23 = hierarchy_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_24 = hierarchy_testU -@ENABLE_TESTS_TRUE@am__append_25 = loglog_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_26 = loglog_testU -@ENABLE_TESTS_TRUE@am__append_27 = ndc_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_28 = ndc_testU -@ENABLE_TESTS_TRUE@am__append_29 = ostream_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_30 = ostream_testU -@ENABLE_TESTS_TRUE@am__append_31 = patternlayout_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_32 = patternlayout_testU -@ENABLE_TESTS_TRUE@am__append_33 = performance_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_34 = performance_testU -@ENABLE_TESTS_TRUE@am__append_35 = priority_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_36 = priority_testU -@ENABLE_TESTS_TRUE@am__append_37 = propertyconfig_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_38 = propertyconfig_testU -@ENABLE_TESTS_TRUE@am__append_39 = socket_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_40 = socket_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_41 = thread_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_42 = thread_testU -@ENABLE_TESTS_TRUE@am__append_43 = timeformat_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_44 = timeformat_testU -@ENABLE_TESTS_TRUE@am__append_45 = unit_tests -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_46 = unit_testsU +@ENABLE_UNIT_TESTS_TRUE@am__append_2 = -DCATCH_AMALGAMATED_CUSTOM_MAIN=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@am__append_3 = liblog4cplusU.la +@MULTI_THREADED_TRUE@am__append_4 = loggingserver +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am__append_5 = loggingserverU +@QT_TRUE@am__append_6 = liblog4cplusqt4debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_7 = liblog4cplusqt4debugappenderU.la +@QT5_TRUE@am__append_8 = liblog4cplusqt5debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_9 = liblog4cplusqt5debugappenderU.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = $(PYTHON_WRAPU_CXX) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_11 = log4cplusU.py +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_12 = _log4cplusU.la +@ENABLE_TESTS_TRUE@am__append_13 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in +@ENABLE_TESTS_TRUE@am__append_14 = appender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_15 = appender_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_16 = configandwatch_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_17 = configandwatch_testU +@ENABLE_TESTS_TRUE@am__append_18 = customloglevel_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_19 = customloglevel_testU +@ENABLE_TESTS_TRUE@am__append_20 = fileappender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_21 = fileappender_testU +@ENABLE_TESTS_TRUE@am__append_22 = filter_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_23 = filter_testU +@ENABLE_TESTS_TRUE@am__append_24 = hierarchy_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_25 = hierarchy_testU +@ENABLE_TESTS_TRUE@am__append_26 = loglog_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_27 = loglog_testU +@ENABLE_TESTS_TRUE@am__append_28 = ndc_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_29 = ndc_testU +@ENABLE_TESTS_TRUE@am__append_30 = ostream_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_31 = ostream_testU +@ENABLE_TESTS_TRUE@am__append_32 = patternlayout_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_33 = patternlayout_testU +@ENABLE_TESTS_TRUE@am__append_34 = performance_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_35 = performance_testU +@ENABLE_TESTS_TRUE@am__append_36 = priority_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_37 = priority_testU +@ENABLE_TESTS_TRUE@am__append_38 = propertyconfig_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = propertyconfig_testU +@ENABLE_TESTS_TRUE@am__append_40 = socket_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_41 = socket_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_42 = thread_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_43 = thread_testU +@ENABLE_TESTS_TRUE@am__append_44 = timeformat_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = timeformat_testU +@ENABLE_TESTS_TRUE@am__append_46 = unit_tests +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_47 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -1230,7 +1231,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ AM_CXXFLAGS = @LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ AM_LDFLAGS = @LOG4CPLUS_PROFILING_LDFLAGS@ @LOG4CPLUS_LTO_LDFLAGS@ ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_12) +EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_13) SUBDIRS = include pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = log4cplus.pc @@ -1242,8 +1243,8 @@ LOG4CPLUS_VERSION_LT_FLAGS = $(VERSION_INFO_OPTION) $(RELEASE_OPTION) INCLUDES_SRC_PATH = $(top_srcdir)/include/log4cplus liblog4cplus_la_file = $(top_builddir)/liblog4cplus.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@liblog4cplusU_la_file = $(top_builddir)/liblog4cplusU.la -lib_LTLIBRARIES = liblog4cplus.la $(am__append_2) $(am__append_5) \ - $(am__append_6) $(am__append_7) $(am__append_8) +lib_LTLIBRARIES = liblog4cplus.la $(am__append_3) $(am__append_6) \ + $(am__append_7) $(am__append_8) $(am__append_9) LIB_SRC = src/appenderattachableimpl.cxx src/appender.cxx \ src/asyncappender.cxx src/callbackappender.cxx src/clogger.cxx \ src/configurator.cxx src/connectorthread.cxx \ @@ -1265,7 +1266,8 @@ LIB_SRC = src/appenderattachableimpl.cxx src/appender.cxx \ src/syslogappender.cxx src/threads.cxx src/timehelper.cxx \ src/tls.cxx src/version.cxx src/win32consoleappender.cxx \ src/win32debugappender.cxx $(am__append_1) -common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS +common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS \ + $(am__append_2) liblog4cplus_la_CPPFLAGS = $(common_liblog4cplus_la_cppflags) common_liblog4cplus_la_sources = $(LIB_SRC) liblog4cplus_la_SOURCES = $(common_liblog4cplus_la_sources) @@ -1360,10 +1362,10 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @WITH_SWIG_TRUE@ swig/loggingevent.swg @WITH_PYTHON_TRUE@PYTHON_WRAP_CXX = python_wrap.cxx -@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_9) -@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_10) +@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_10) +@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_11) @WITH_PYTHON_TRUE@pkgpyexec_LTLIBRARIES = _log4cplus.la \ -@WITH_PYTHON_TRUE@ $(am__append_11) +@WITH_PYTHON_TRUE@ $(am__append_12) @WITH_PYTHON_TRUE@_log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) @WITH_PYTHON_TRUE@_log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ @WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ diff --git a/src/Makefile.am b/src/Makefile.am index 75b6ad094..50318b22d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -64,6 +64,9 @@ LIB_SRC+= \ endif common_liblog4cplus_la_cppflags = $(AM_CPPFLAGS) -DINSIDE_LOG4CPLUS +if ENABLE_UNIT_TESTS +common_liblog4cplus_la_cppflags+=-DCATCH_AMALGAMATED_CUSTOM_MAIN=1 +endif liblog4cplus_la_CPPFLAGS = $(common_liblog4cplus_la_cppflags) common_liblog4cplus_la_sources = $(LIB_SRC) From f81ebd4bf0a07eb927d28e4cb851448de2c96000 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Nov 2024 07:56:10 +0100 Subject: [PATCH 318/353] Enable LTO / IPO in release builds with CMake. Fixes #641. --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a04cb09df..fc1e18e61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,10 @@ endif () # Use "-fPIC" / "-fPIE" for all targets by default, including static libs. set (CMAKE_POSITION_INDEPENDENT_CODE ON) +# Enable LTO / IPO by default. +set (CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON) +set (CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON) +set (CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON) enable_language (CXX) if (MSVC) From e5acfc0c8312146206295512b19f7f94e5061b6e Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 22 Nov 2024 08:09:49 +0100 Subject: [PATCH 319/353] socketbuffer.cxx: Fix warnings. This fixes warnings about string operation overflow. The overflow is handled by throwing an exception from internal function. Add `std::unreachable()` to make the compiler realise that the code does not fall through. --- src/socketbuffer.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/socketbuffer.cxx b/src/socketbuffer.cxx index 30e4a1aad..053e5bd70 100644 --- a/src/socketbuffer.cxx +++ b/src/socketbuffer.cxx @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -200,6 +201,7 @@ SocketBuffer::appendByte(unsigned char val) LOG4CPLUS_TEXT("SocketBuffer::appendByte()-") LOG4CPLUS_TEXT(" Attempt to write beyond end of buffer"), true); + std::unreachable (); } buffer[pos] = static_cast(val); @@ -217,6 +219,7 @@ SocketBuffer::appendShort(unsigned short val) LOG4CPLUS_TEXT("SocketBuffer::appendShort()-") LOG4CPLUS_TEXT("Attempt to write beyond end of buffer"), true); + std::unreachable (); } unsigned short s = htons(val); @@ -235,7 +238,7 @@ SocketBuffer::appendInt(unsigned int val) LOG4CPLUS_TEXT("SocketBuffer::appendInt()-") LOG4CPLUS_TEXT(" Attempt to write beyond end of buffer"), true); - return; + std::unreachable (); } int i = htonl(val); @@ -258,7 +261,7 @@ SocketBuffer::appendString(const tstring& str) LOG4CPLUS_TEXT("SocketBuffer::appendString()-") LOG4CPLUS_TEXT(" Attempt to write beyond end of buffer"), true); - return; + std::unreachable (); } appendInt(static_cast(strlen)); @@ -283,7 +286,7 @@ SocketBuffer::appendBuffer(const SocketBuffer& buf) LOG4CPLUS_TEXT("SocketBuffer::appendBuffer()-") LOG4CPLUS_TEXT(" Attempt to write beyond end of buffer"), true); - return; + std::unreachable (); } std::memcpy(&buffer[pos], buf.buffer, buf.getSize()); From c482c7ada831caaad3cbdfde5258d3628eac1786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Fri, 22 Nov 2024 09:48:23 +0100 Subject: [PATCH 320/353] Disable build with Visual Studio 16 2019. It does not support enough of C++23. --- appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 3a7ef3630..6e621d16d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,10 +13,10 @@ environment: APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022" BDIR: msvc2022 PRJ_CFG: Release - - PRJ_GEN: "Visual Studio 16 2019" - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" - BDIR: msvc2019 - PRJ_CFG: Release + #- PRJ_GEN: "Visual Studio 16 2019" + # APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" + # BDIR: msvc2019 + # PRJ_CFG: Release build_script: - mkdir build.%BDIR% From 3a568c9de65e37eeb4102b86cbd39a0c2e597b93 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 27 Oct 2024 11:02:01 +0100 Subject: [PATCH 321/353] Fix compilation with Python 3.12+. Define PyUnicode_GetSize(X)=PyUnicode_GetLength(X) macro to replace removed API with a new one. --- Makefile.in | 6 ++++-- swig/python/Makefile.am | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile.in b/Makefile.in index 2027d5a59..df93d3870 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1369,7 +1369,8 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @WITH_PYTHON_TRUE@_log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) @WITH_PYTHON_TRUE@_log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ @WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ -@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" +@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" \ +@WITH_PYTHON_TRUE@ "-DPyUnicode_GetSize(X)=PyUnicode_GetLength(X)" @WITH_PYTHON_TRUE@_log4cplus_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ @WITH_PYTHON_TRUE@ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) @@ -1379,7 +1380,8 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_SOURCES = $(PYTHON_WRAPU_CXX) $(SWIG_SOURCES) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ "-Dregister=/*register*/" \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ "-DPyUnicode_GetSize(X)=PyUnicode_GetLength(X)" @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@_log4cplusU_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) diff --git a/swig/python/Makefile.am b/swig/python/Makefile.am index 87a294da3..b08c2638d 100644 --- a/swig/python/Makefile.am +++ b/swig/python/Makefile.am @@ -7,7 +7,8 @@ pkgpyexec_LTLIBRARIES = _log4cplus.la _log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) _log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ - "-Dregister=/*register*/" + "-Dregister=/*register*/" \ + "-DPyUnicode_GetSize(X)=PyUnicode_GetLength(X)" _log4cplus_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) _log4cplus_la_LIBADD = $(liblog4cplus_la_file) @@ -27,7 +28,8 @@ pkgpyexec_LTLIBRARIES += _log4cplusU.la _log4cplusU_la_SOURCES = $(PYTHON_WRAPU_CXX) $(SWIG_SOURCES) _log4cplusU_la_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 \ $(SWIG_PYTHON_CPPFLAGS) $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ - "-Dregister=/*register*/" + "-Dregister=/*register*/" \ + "-DPyUnicode_GetSize(X)=PyUnicode_GetLength(X)" _log4cplusU_la_LDFLAGS = -no-undefined -shared -module -avoid-version \ $(PYTHON_LDFLAGS) $(AM_LDFLAGS) _log4cplusU_la_LIBADD = $(liblog4cplusU_la_file) From e791a6aba3cba7b098201aec8c6d76458d5730aa Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 24 Nov 2024 23:05:43 +0100 Subject: [PATCH 322/353] Add std::unreachable() after function calls that always throw. --- src/appender.cxx | 6 ++++++ src/asyncappender.cxx | 3 +++ src/env.cxx | 5 ++++- src/lockfile.cxx | 13 +++++++++++++ src/timehelper.cxx | 2 ++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/appender.cxx b/src/appender.cxx index efd3702c3..ec967ff22 100644 --- a/src/appender.cxx +++ b/src/appender.cxx @@ -30,6 +30,7 @@ #include #include #include +#include namespace log4cplus @@ -120,6 +121,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) LOG4CPLUS_TEXT("Cannot find LayoutFactory: \"") + factoryName + LOG4CPLUS_TEXT("\""), true); + std::unreachable(); } helpers::Properties layoutProperties = @@ -130,6 +132,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) helpers::getLogLog().error( LOG4CPLUS_TEXT("Failed to create Layout: ") + factoryName, true); + std::unreachable(); } else { layout = std::move(newLayout); @@ -139,6 +142,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) helpers::getLogLog().error( LOG4CPLUS_TEXT("Error while creating Layout: ") + LOG4CPLUS_C_STR_TO_TSTRING(e.what()), true); + std::unreachable(); } } @@ -167,6 +171,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) helpers::getLogLog().error( LOG4CPLUS_TEXT("Appender::ctor()- Cannot find FilterFactory: ") + factoryName, true); + std::unreachable(); } spi::FilterPtr tmpFilter = factory->createObject ( filterProps.getPropertySubset(filterName + LOG4CPLUS_TEXT("."))); @@ -175,6 +180,7 @@ Appender::Appender(const log4cplus::helpers::Properties & properties) helpers::getLogLog().error( LOG4CPLUS_TEXT("Appender::ctor()- Failed to create filter: ") + filterName, true); + std::unreachable(); } addFilter (std::move (tmpFilter)); } diff --git a/src/asyncappender.cxx b/src/asyncappender.cxx index 5de605871..ddb3da25c 100644 --- a/src/asyncappender.cxx +++ b/src/asyncappender.cxx @@ -24,6 +24,8 @@ #include #ifndef LOG4CPLUS_SINGLE_THREADED +#include + #include #include #include @@ -119,6 +121,7 @@ AsyncAppender::AsyncAppender (helpers::Properties const & props) LOG4CPLUS_TEXT ("AsyncAppender::AsyncAppender()") LOG4CPLUS_TEXT (" - Cannot find AppenderFactory: ") + appender_name, true); + std::unreachable (); } helpers::Properties appender_props = props.getPropertySubset ( diff --git a/src/env.cxx b/src/env.cxx index a9d33c69e..8c1cf5ff6 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -58,7 +58,7 @@ #include #include #include - +#include namespace log4cplus::internal { @@ -340,10 +340,13 @@ get_current_dir () if (eno == ERANGE) buf_size *= 2; else + { helpers::getLogLog ().error ( LOG4CPLUS_TEXT ("getcwd: ") + helpers::convertIntegerToString (eno), true); + std::unreachable(); + } } } while (! ret); diff --git a/src/lockfile.cxx b/src/lockfile.cxx index b5bd418aa..7899f95e4 100644 --- a/src/lockfile.cxx +++ b/src/lockfile.cxx @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -225,16 +226,22 @@ LockFile::open (int open_flags) const # else # error "Neither _tsopen_s() nor _tsopen() is available." # endif + { getLogLog ().error (tstring (LOG4CPLUS_TEXT("could not open or create file ")) + lock_file_name, true); + std::unreachable (); + } #elif defined (LOG4CPLUS_USE_POSIX_LOCKING) data->fd = ::open (LOG4CPLUS_TSTRING_TO_STRING (lock_file_name).c_str (), open_flags, OPEN_MODE); if (data->fd == -1) + { getLogLog ().error ( tstring (LOG4CPLUS_TEXT ("could not open or create file ")) + lock_file_name, true); + std::unreachable (); + } #if ! defined (O_CLOEXEC) if (! trySetCloseOnExec (data->fd)) @@ -301,8 +308,11 @@ LockFile::lock () const fl.l_len = 0; ret = fcntl (data->fd, F_SETLKW, &fl); if (ret == -1 && errno != EINTR) + { getLogLog ().error (tstring (LOG4CPLUS_TEXT("fcntl(F_SETLKW) failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } } while (ret == -1); @@ -354,8 +364,11 @@ void LockFile::unlock () const fl.l_len = 0; ret = fcntl (data->fd, F_SETLKW, &fl); if (ret != 0) + { getLogLog ().error (tstring (LOG4CPLUS_TEXT("fcntl(F_SETLKW) failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } #elif defined (LOG4CPLUS_USE_LOCKF) ret = lockf (data->fd, F_ULOCK, 0); diff --git a/src/timehelper.cxx b/src/timehelper.cxx index 663f1d71f..b16a6a756 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #if defined (UNICODE) @@ -304,6 +305,7 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, LogLog::getLogLog ()->error ( LOG4CPLUS_TEXT("Error in strftime(): ") + convertIntegerToString (eno), true); + std::unreachable(); } } } From c093ab740c4d135a70bc53c013ad1592fa8ccba2 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 7 Dec 2024 16:35:32 +0100 Subject: [PATCH 323/353] Check for gettid() function, not just syscall. --- ConfigureChecks.cmake | 1 + configure | 41 +++++++++++++++++++++++-- configure.ac | 13 +++++++- include/log4cplus/config.h.cmake.in | 5 ++- include/log4cplus/config.h.in | 5 ++- include/log4cplus/config/defines.hxx.in | 3 ++ src/threads.cxx | 5 +++ 7 files changed, 68 insertions(+), 5 deletions(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index a2b539188..48c515ad8 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -88,6 +88,7 @@ check_function_exists(_vsnprintf_s LOG4CPLUS_HAVE__VSNPRINTF_S ) check_function_exists(_vsnwprintf_s LOG4CPLUS_HAVE__VSNWPRINTF_S ) check_function_exists(mbstowcs LOG4CPLUS_HAVE_MBSTOWCS ) check_function_exists(wcstombs LOG4CPLUS_HAVE_WCSTOMBS ) +check_function_exists(gettid LOG4CPLUS_HAVE_GETTID_FUNC ) check_symbol_exists(ENAMETOOLONG errno.h LOG4CPLUS_HAVE_ENAMETOOLONG ) diff --git a/configure b/configure index 7e82d5600..4e53e4eaa 100755 --- a/configure +++ b/configure @@ -15783,8 +15783,45 @@ then : fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettid" >&5 -printf %s "checking for gettid... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettid function" >&5 +printf %s "checking for gettid function... " >&6; } +if test ${ax_cv_have_gettid_func+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +int +main (void) +{ +pid_t rv = gettid(); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ax_cv_have_gettid_func=yes +else case e in #( + e) ax_cv_have_gettid_func=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_gettid_func" >&5 +printf "%s\n" "$ax_cv_have_gettid_func" >&6; } + if test "x$ax_cv_have_gettid_func" = "xyes" +then : + printf "%s\n" "#define LOG4CPLUS_HAVE_GETTID_FUNC 1" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettid syscall" >&5 +printf %s "checking for gettid syscall... " >&6; } if test ${ax_cv_have_gettid+y} then : printf %s "(cached) " >&6 diff --git a/configure.ac b/configure.ac index 6f7b9c9d9..98a7eb9a9 100644 --- a/configure.ac +++ b/configure.ac @@ -631,7 +631,18 @@ LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_GETHOSTBYNAME_R], [Define if gethostbyname_r() is provided.], [test "x$ax_cv_have_gethostbyname_r" = "xyes"], [1]) -AC_CACHE_CHECK([for gettid], [ax_cv_have_gettid], +AC_CACHE_CHECK([for gettid function], [ax_cv_have_gettid_func], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([#include +#include +#include ], [pid_t rv = gettid();])], + [ax_cv_have_gettid_func=yes], + [ax_cv_have_gettid_func=no])]) +LOG4CPLUS_DEFINE_MACRO_IF([LOG4CPLUS_HAVE_GETTID_FUNC], + [Define if gettid() function is available.], + [test "x$ax_cv_have_gettid_func" = "xyes"], [1]) + +AC_CACHE_CHECK([for gettid syscall], [ax_cv_have_gettid], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([#include #include diff --git a/include/log4cplus/config.h.cmake.in b/include/log4cplus/config.h.cmake.in index 8b1c83c90..dc41cbe20 100644 --- a/include/log4cplus/config.h.cmake.in +++ b/include/log4cplus/config.h.cmake.in @@ -199,9 +199,12 @@ /* */ #cmakedefine LOG4CPLUS_HAVE_GETPID 1 -/* */ +/* Define if gettid() Linux syscall is available. */ #cmakedefine LOG4CPLUS_HAVE_GETTID 1 +/* Define if gettid() function is available. */ +#cmakedefine LOG4CPLUS_HAVE_GETTID_FUNC 1 + /* */ #cmakedefine LOG4CPLUS_HAVE_GETTIMEOFDAY 1 diff --git a/include/log4cplus/config.h.in b/include/log4cplus/config.h.in index 9e62eb693..e33a17862 100644 --- a/include/log4cplus/config.h.in +++ b/include/log4cplus/config.h.in @@ -252,9 +252,12 @@ /* */ #undef LOG4CPLUS_HAVE_GETPID -/* */ +/* Define if gettid() Linux syscall is available. */ #undef LOG4CPLUS_HAVE_GETTID +/* Define if gettid() function is available. */ +#undef LOG4CPLUS_HAVE_GETTID_FUNC + /* */ #undef LOG4CPLUS_HAVE_GMTIME_R diff --git a/include/log4cplus/config/defines.hxx.in b/include/log4cplus/config/defines.hxx.in index 8eafb357b..6cffa1e4d 100644 --- a/include/log4cplus/config/defines.hxx.in +++ b/include/log4cplus/config/defines.hxx.in @@ -219,6 +219,9 @@ /* Define to 1 if you have Linux style syscall(SYS_gettid). */ #undef LOG4CPLUS_HAVE_GETTID +/* Define if gettid() function is available. */ +#undef LOG4CPLUS_HAVE_GETTID_FUNC + /* Define when iconv() is available. */ #undef LOG4CPLUS_WITH_ICONV diff --git a/src/threads.cxx b/src/threads.cxx index 7e11f3e1e..64a707284 100644 --- a/src/threads.cxx +++ b/src/threads.cxx @@ -135,6 +135,11 @@ get_current_thread_name_alt (log4cplus::tostream * s) log4cplus::tostream & os = *s; #if defined (LOG4CPLUS_USE_PTHREADS) && defined (__linux__) \ + && defined (LOG4CPLUS_HAVE_GETTID_FUNC) + pid_t tid = gettid (); + os << tid; + +#elif defined (LOG4CPLUS_USE_PTHREADS) && defined (__linux__) \ && defined (LOG4CPLUS_HAVE_GETTID) pid_t tid = syscall (SYS_gettid); os << tid; From c15260a1dace57aa827da889d0b6e17963a7d60c Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 7 Dec 2024 16:36:16 +0100 Subject: [PATCH 324/353] Use deleted ctors in sockets. --- include/log4cplus/helpers/socketbuffer.h | 5 ++--- include/log4cplus/socketappender.h | 8 +++----- include/log4cplus/syslogappender.h | 7 +++---- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/include/log4cplus/helpers/socketbuffer.h b/include/log4cplus/helpers/socketbuffer.h index d58b6435d..9ba632b7a 100644 --- a/include/log4cplus/helpers/socketbuffer.h +++ b/include/log4cplus/helpers/socketbuffer.h @@ -43,6 +43,8 @@ class LOG4CPLUS_EXPORT SocketBuffer { public: explicit SocketBuffer(std::size_t max); + SocketBuffer(SocketBuffer const & rhs) = delete; + SocketBuffer& operator= (SocketBuffer const& rhs) = delete; virtual ~SocketBuffer(); char *getBuffer() const { return buffer; } @@ -68,9 +70,6 @@ class LOG4CPLUS_EXPORT SocketBuffer std::size_t size; std::size_t pos; char *buffer; - - SocketBuffer(SocketBuffer const & rhs); - SocketBuffer& operator= (SocketBuffer const& rhs); }; } // end namespace helpers diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index 17d77b7cb..2f5dcdf14 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -114,6 +114,9 @@ namespace log4cplus const log4cplus::tstring& serverName = tstring(), bool ipv6 = false); SocketAppender(const log4cplus::helpers::Properties & properties); + // Disallow copying of instances of this class + SocketAppender(const SocketAppender&) = delete; + SocketAppender& operator=(const SocketAppender&) = delete; // Dtor ~SocketAppender(); @@ -142,11 +145,6 @@ namespace log4cplus volatile bool connected; helpers::SharedObjectPtr connector; #endif - - private: - // Disallow copying of instances of this class - SocketAppender(const SocketAppender&); - SocketAppender& operator=(const SocketAppender&); }; namespace helpers { diff --git a/include/log4cplus/syslogappender.h b/include/log4cplus/syslogappender.h index af2608f90..a4c06f07c 100644 --- a/include/log4cplus/syslogappender.h +++ b/include/log4cplus/syslogappender.h @@ -103,6 +103,9 @@ namespace log4cplus int port = 514, const tstring & facility = tstring (), RemoteSyslogType remoteSyslogType = RSTUdp, bool ipv6 = false, bool fqdn = true); SysLogAppender(const log4cplus::helpers::Properties & properties); + // Disallow copying of instances of this class + SysLogAppender(const SysLogAppender&) = delete; + SysLogAppender& operator=(const SysLogAppender&) = delete; // Dtor virtual ~SysLogAppender(); @@ -150,10 +153,6 @@ namespace log4cplus #endif private: - // Disallow copying of instances of this class - SysLogAppender(const SysLogAppender&); - SysLogAppender& operator=(const SysLogAppender&); - std::string identStr; tstring hostname; }; From f16c0a0c294087d8cbfb92701f81ba700bba5915 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 8 Dec 2024 09:56:15 +0100 Subject: [PATCH 325/353] Use emplace_back() more. --- src/env.cxx | 2 +- src/ndc.cxx | 4 ++-- src/patternlayout.cxx | 16 ++++++---------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/env.cxx b/src/env.cxx index 8c1cf5ff6..571c9b6e2 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -384,7 +384,7 @@ split_into_components(Container & components, tstring const & path, while (it != end) { tstring::const_iterator sep = std::find_if (it, end, is_sep); - components.push_back (tstring (it, sep)); + components.emplace_back (it, sep); it = sep; if (it != end) ++it; diff --git a/src/ndc.cxx b/src/ndc.cxx index fcf621764..45982c5e5 100644 --- a/src/ndc.cxx +++ b/src/ndc.cxx @@ -249,11 +249,11 @@ NDC::push_worker (StringType const & message) { DiagnosticContextStack* ptr = getPtr(); if (ptr->empty()) - ptr->push_back( DiagnosticContext(message, nullptr) ); + ptr->emplace_back (message, nullptr); else { DiagnosticContext const & dc = ptr->back(); - ptr->push_back( DiagnosticContext(message, &dc) ); + ptr->emplace_back (message, &dc); } } diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 231ce8cce..5fbcd6eb5 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -767,9 +767,8 @@ PatternParser::parse() break; default: if(! currentLiteral.empty ()) { - list.push_back - (std::unique_ptr( - new LiteralPatternConverter(currentLiteral))); + list.emplace_back ( + new LiteralPatternConverter(currentLiteral)); //getLogLog().debug("Parsed LITERAL converter: \"" // +currentLiteral+"\"."); } @@ -850,9 +849,7 @@ PatternParser::parse() } // end while if(! currentLiteral.empty ()) { - list.push_back( - std::unique_ptr( - new LiteralPatternConverter(currentLiteral))); + list.emplace_back(new LiteralPatternConverter(currentLiteral)); //getLogLog().debug("Parsed LITERAL converter: \""+currentLiteral+"\"."); } @@ -1022,7 +1019,7 @@ PatternParser::finalizeConverter(tchar c) pc = new LiteralPatternConverter(currentLiteral); } - list.push_back(std::unique_ptr(pc)); + list.emplace_back(pc); currentLiteral.resize(0); state = LITERAL_STATE; formattingInfo.reset(); @@ -1098,10 +1095,9 @@ PatternLayout::init(const tstring& pattern_, unsigned ndcMaxDepth) { helpers::getLogLog().warn( LOG4CPLUS_TEXT("PatternLayout pattern is empty. Using default...")); - parsedPattern.push_back ( - std::unique_ptr( + parsedPattern.emplace_back ( new pattern::BasicPatternConverter(pattern::FormattingInfo(), - pattern::BasicPatternConverter::MESSAGE_CONVERTER))); + pattern::BasicPatternConverter::MESSAGE_CONVERTER)); } } From a6aad9ddf506ea50acad759917f7662df6d98689 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 8 Dec 2024 10:17:19 +0100 Subject: [PATCH 326/353] Use more std::unreachable(). --- src/env.cxx | 1 + src/hierarchy.cxx | 2 ++ src/lockfile.cxx | 30 ++++++++++++++++++++++-------- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/env.cxx b/src/env.cxx index 571c9b6e2..0045954e2 100644 --- a/src/env.cxx +++ b/src/env.cxx @@ -129,6 +129,7 @@ get_env_var (tstring & value, tstring const & name) helpers::getLogLog().error( LOG4CPLUS_TEXT ("_dupenv_s failed. Error: ") + helpers::convertIntegerToString (eno), true); + std::unreachable (); } return !! buf; diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index 73b2306e0..6f9fde4af 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -294,6 +294,7 @@ Hierarchy::getInstanceImpl(const tstring_view& name, helpers::getLogLog().error( LOG4CPLUS_TEXT("Hierarchy::getInstanceImpl()- Insert failed"), true); + std::unreachable (); } if (auto pnm_it = provisionNodes.find(name); pnm_it != provisionNodes.end()) @@ -352,6 +353,7 @@ Hierarchy::updateParents(Logger const & logger) helpers::getLogLog().error( LOG4CPLUS_TEXT("Hierarchy::updateParents()- Insert failed"), true); + std::unreachable (); } } } // end if Logger found diff --git a/src/lockfile.cxx b/src/lockfile.cxx index 7899f95e4..a64c5a253 100644 --- a/src/lockfile.cxx +++ b/src/lockfile.cxx @@ -104,9 +104,11 @@ HANDLE get_os_HANDLE (int fd) { HANDLE fh = reinterpret_cast(_get_osfhandle (fd)); - if (fh == INVALID_HANDLE_VALUE) + if (fh == INVALID_HANDLE_VALUE) { getLogLog ().error (tstring (LOG4CPLUS_TEXT ("_get_osfhandle() failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } return fh; } @@ -291,9 +293,11 @@ LockFile::lock () const ret = LockFileEx(fh, LOCKFILE_EXCLUSIVE_LOCK, 0, (std::numeric_limits::max) (), (std::numeric_limits::max) (), &overlapped); - if (! ret) + if (! ret) { getLogLog ().error (tstring (LOG4CPLUS_TEXT ("LockFileEx() failed: ")) + convertIntegerToString (GetLastError ()), true); + std::unreachable (); + } #elif defined (LOG4CPLUS_USE_O_EXLOCK) open (OPEN_FLAGS | O_EXLOCK); @@ -320,9 +324,11 @@ LockFile::lock () const do { ret = lockf (data->fd, F_LOCK, 0); - if (ret == -1 && errno != EINTR) + if (ret == -1 && errno != EINTR) { getLogLog ().error (tstring (LOG4CPLUS_TEXT("lockf() failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } } while (ret == -1); @@ -330,9 +336,11 @@ LockFile::lock () const do { ret = flock (data->fd, LOCK_EX); - if (ret == -1 && errno != EINTR) + if (ret == -1 && errno != EINTR) { getLogLog ().error (tstring (LOG4CPLUS_TEXT("flock() failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } } while (ret == -1); @@ -349,9 +357,11 @@ void LockFile::unlock () const ret = UnlockFile(fh, 0, 0, (std::numeric_limits::max) (), (std::numeric_limits::max) ()); - if (! ret) + if (! ret) { getLogLog ().error (tstring (LOG4CPLUS_TEXT ("UnlockFile() failed: ")) + convertIntegerToString (GetLastError ()), true); + std::unreachable (); + } #elif defined (LOG4CPLUS_USE_O_EXLOCK) close (); @@ -372,18 +382,22 @@ void LockFile::unlock () const #elif defined (LOG4CPLUS_USE_LOCKF) ret = lockf (data->fd, F_ULOCK, 0); - if (ret != 0) + if (ret != 0) { getLogLog ().error (tstring (LOG4CPLUS_TEXT("lockf() failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } + #elif defined (LOG4CPLUS_USE_FLOCK) ret = flock (data->fd, LOCK_UN); - if (ret != 0) + if (ret != 0) { getLogLog ().error (tstring (LOG4CPLUS_TEXT("flock() failed: ")) + convertIntegerToString (errno), true); + std::unreachable (); + } #endif - } From d9692ca9100b09cc702211142e2cedc5013f7619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 4 Jun 2025 10:03:56 +0200 Subject: [PATCH 327/353] Fix typo in TODO comment --- include/log4cplus/clogger.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/log4cplus/clogger.h b/include/log4cplus/clogger.h index b8b2a4322..09eb49404 100644 --- a/include/log4cplus/clogger.h +++ b/include/log4cplus/clogger.h @@ -39,7 +39,7 @@ extern "C" { #endif -// TODO UNICDE capable +// TODO UNICODE capable typedef void * log4cplus_logger_t; typedef log4cplus_logger_t logger_t; From fb4d27aea001e751ef3771b4517d1c9d4fe01fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 4 Jun 2025 10:05:24 +0200 Subject: [PATCH 328/353] Fix typo in comment --- src/timehelper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/timehelper.cxx b/src/timehelper.cxx index b16a6a756..4352abdb5 100644 --- a/src/timehelper.cxx +++ b/src/timehelper.cxx @@ -199,7 +199,7 @@ getFormattedTime(const log4cplus::tstring& fmt_orig, gft_sp.ret.reserve (fmt_orig_size + fmt_orig_size / 3); State state = TEXT; - // Walk the format string and process all occurences of %q, %Q and %s. + // Walk the format string and process all occurrences of %q, %Q and %s. long const tv_usec = microseconds_part (the_time); time_t const tv_sec = to_time_t (the_time); From 5d2bfa0a1546d79cab4b1ef1ba92457cd36adfaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Wed, 4 Jun 2025 10:42:32 +0200 Subject: [PATCH 329/353] Fix grammar and punctuation in README --- README.md | 163 +++++++++++++++++++++++++++--------------------------- 1 file changed, 81 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 2f3c86a5f..95af0be08 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,9 @@ configuration. It is modeled after the Java log4j API. Latest Project Information ========================== -The latest up-to-date information for this project can be found -on [GitHub][13] project page or [log4cplus wiki][4] there. -Please submit bugs, patches, feature requests, etc., -on [GitHub][13]. +The latest up-to-date information for this project can be found on the +[GitHub][13] project page or the [log4cplus wiki][4]. Please submit bugs, +patches, feature requests, and so on on [GitHub][13]. [4]: https://github.com/log4cplus/log4cplus/wiki [13]: https://github.com/log4cplus/log4cplus @@ -25,11 +24,11 @@ on [GitHub][13]. Mission statement ================= -The aim of this project is to develop log4j--like logging framework -for use in (primarily) C++. One of the major design goals is to avoid +The aim of this project is to develop a log4j-like logging framework for +use primarily in C++. One of the major design goals is to avoid huge dependencies (like Boost) in the core functionality and to use standard C++ facilities instead. Where possible, the project takes -inspiration from other logging libraries, beside from log4j (e.g., +inspiration from other logging libraries, besides log4j (e.g., from log4net, log4cxx, log4cpp). @@ -52,15 +51,15 @@ ported to and tested on the following platforms: (FreeBSD Ports Collection) - OpenIndiana Hipster 2016.10 with GCC version 4.9.4 -The testing on the above listed platforms has been done at some point -in time with some version of source. Continuous testing is done only -on Linux platform offered by [Travis CI][11] service. +Testing on the above-listed platforms was done at some point in time +with some version of the source. Continuous testing is performed only +on the Linux platform offered by the [Travis CI][11] service. The oldest Windows version that is supported by 2.x releases is Windows Vista. The following platforms were supported by the 1.x series of [log4cplus]. They -either do not have a reasonable C++23 capable compiler or have not been checked -with [log4cplus] 3.x, yet: +either do not have a reasonably C++23-capable compiler or have not yet been +checked with [log4cplus] 3.x: - Minix 3.3.0/i386 with Clang version 3.4 (branches/release_34) with `--disable-threads` @@ -75,11 +74,11 @@ with [log4cplus] 3.x, yet: - AIX 5.3 with IBM XL C/C++ for AIX -Installation instruction -======================== +Installation instructions +========================= -Generic Autotools installation instructions are in `INSTALL` file. The -following are [log4cplus] specific instructions. +Generic Autotools installation instructions are in the `INSTALL` file. The +following are [log4cplus]-specific instructions. [log4cplus] uses Git sub-modules. Always use `--recurse-submodules` option when doing `git clone`. @@ -146,8 +145,8 @@ compiler and linker flags that enable POSIX threading support. While this detection usually works well, some platforms still need help with configuration by supplying additional flags to the -`configure` script. One of the know deficiencies is Solaris Studio on -Linux. See one of the later note for details. +`configure` script. One of the known deficiencies is Solaris Studio on +Linux. See one of the later notes for details. `--enable-tests` @@ -159,9 +158,9 @@ This option is enabled by default. It enables compilation of test executables. `--enable-unit-tests` --------------------- -This option is disabled by default. It enables compilation of unit tests along -their units. These unit tests then can be executed through `unit_tests` test -executable that is built during compilation. +This option is disabled by default. It enables compilation of unit tests along +with their units. These unit tests can then be executed through the +`unit_tests` test executable that is built during compilation. `--enable-implicit-initialization` @@ -194,7 +193,7 @@ flag. In effect, these binaries assume that `log4cplus::tchar` is `wchar_t`. This is one of three locale and `wchar_t`↔`char` conversion related options. It is disabled by default. -It is know to work well with GCC on Linux. Other platforms generally +It is known to work well with GCC on Linux. Other platforms generally have lesser locale support in their implementations of the C++ standard library. It is known not to work well on any BSDs. @@ -204,7 +203,7 @@ See also docs/unicode.txt. `--with-working-c-locale` ------------------------- -This is second of `wchar_t`↔`char` conversion related options. It is +This is the second of the `wchar_t`↔`char` conversion-related options. It is disabled by default. It is known to work well on most Unix--like platforms, including @@ -214,7 +213,7 @@ recent Cygwin. `--with-iconv` -------------- -This is third of `wchar_t`↔`char` conversion related options. It is +This is the third of the `wchar_t`↔`char` conversion-related options. It is disabled by default. The conversion using iconv() function always uses `"UTF-8"` and @@ -222,8 +221,8 @@ The conversion using iconv() function always uses `"UTF-8"` and platforms with GNU iconv. Different implementations of `iconv()` might not support `"WCHAR_T"` encoding selector. -Either system provided `iconv()` or library provided `libiconv()` are -detected and accepted. Also both SUSv3 and GNU `iconv()` function +Either the system-provided `iconv()` or the library-provided `libiconv()` is +detected and accepted. Both SUSv3 and GNU `iconv()` function signatures are accepted. @@ -249,16 +248,16 @@ Notes Compilation ----------- -On Unix--like platforms, [log4cplus] can be compiled using either -autotools based build system or using CMake build system. The -autotools based build system is considered to be primary for +On Unix--like platforms, [log4cplus] can be compiled using either the +Autotools-based build system or the CMake build system. The +Autotools-based build system is considered to be primary for Unix--like platforms. On Windows, the primary build system is Visual Studio 2015 solution and projects (`msvc14/log4cplus.sln`). -MinGW is supported by autotools based build system. CMake build system -is supported as well and it should be used to compile [log4cplus] with +MinGW is supported by the Autotools-based build system. The CMake build system +is supported as well, and it should be used to compile [log4cplus] with older versions of Visual Studio or with less common compiler suites (e.g., Embarcadero, Code::Blocks, etc.). @@ -266,9 +265,9 @@ older versions of Visual Studio or with less common compiler suites Cygwin ------ -Cygwin 2.5.x has a problem[^pr64697] linking binaries that use language level +Cygwin 2.5.x has a problem[^pr64697] linking binaries that use language-level thread-local storage and share thread-local variables across translation -units. To avoid the issue language level thread-local storage is not used on +units. To avoid the issue, language-level thread-local storage is not used on Cygwin and traditional POSIX thread-local storage is used instead. [^pr64697]: @@ -278,11 +277,11 @@ MinGW and MSVCRT version ------------------------ [log4cplus] can use functions like `_vsnprintf_s()` (Microsoft's -secure version of `vsnprintf()`). MinGW tool--chains (by default) link +secure version of `vsnprintf()`). MinGW toolchains (by default) link to the system `MSVCRT.DLL`. Unfortunately, older systems, like Windows XP, ship with `MSVCRT.DLL` that lacks these functions. It is possible -to compile [log4cplus] with MinGW tool--chains but _without_ using -Microsoft's secure functions by defining `__MSVCRT_VERSION__` to value +to compile [log4cplus] with MinGW toolchains but _without_ using +Microsoft's secure functions by defining `__MSVCRT_VERSION__` to a value less than `0x900` and vice versa. $ ../configure CPPFLAGS="-D__MSVCRT_VERSION__=0x700" @@ -318,11 +317,11 @@ instances are destroyed. Windows and rolling file Appenders ---------------------------------- -On Windows, the standard C++ file streams open files in way that underlying -Win32 file `HANDLE` is not open with `FILE_SHARE_DELETE` flag. This flag, -beside shared delete, allows renaming files that have handles open to -them. This issue manifests as error code 13 when the file needs to be rolled -over and it is still open by another process. +On Windows, the standard C++ file streams open files in a way that the +underlying Win32 file `HANDLE` is not opened with the `FILE_SHARE_DELETE` +flag. This flag, besides shared delete, allows renaming files that have +handles open to them. This issue manifests as error code 13 when the file +needs to be rolled over while it is still open by another process. This is also [bug #167](https://sourceforge.net/p/log4cplus/bugs/167/) on SourceForge. @@ -355,7 +354,7 @@ compiling [log4cplus] targeted to Windows Vista or later. Linking on Windows ------------------ -If you are linking your application with DLL variant of [log4cplus], define +If you are linking your application with the DLL variant of [log4cplus], define `LOG4CPLUS_BUILD_DLL` preprocessor symbol. This changes definition of `LOG4CPLUS_EXPORT` symbol to `__declspec(dllimport)`. @@ -404,7 +403,7 @@ variants that support threading using the `CXX` variable on AIX reentrancy problem ---------------------- -There appears to be a reentracy problem with AIX 5.3 and xlC 8 which +There appears to be a reentrancy problem with AIX 5.3 and xlC 8 which can result into a deadlock condition in some circumstances. It is unknown whether the problem manifests with other versions of either the OS or the compiler, too. The problem was initially reported in a @@ -454,8 +453,8 @@ your application's build flags as well. Solaris Studio on GNU/Linux --------------------------- -The autotools and our `configure.ac` combo does not handle Solaris -Studio compiler on Linux well enough and needs a little help with +The Autotools and our `configure.ac` combination do not handle the Solaris +Studio compiler on Linux well enough and need a little help with the configuration of POSIX threads: ```sh @@ -505,33 +504,33 @@ Haiku Haiku is supported with GCC 4+. The default GCC version in Haiku is set to version 2 (based on GCC 2.95.x). To change the default GCC -version to version 4, please run `setgcc gcc4` command. This is to +version to 4, please run the `setgcc gcc4` command. This is to avoid linking errors like this: main.cpp:(.text.startup+0x54a): undefined reference to `_Unwind_Resume' Running the command switches the _current_ GCC version to version 4. -This change is permanent and global. See also Haiku ticket +This change is permanent and global. See also the Haiku ticket [#8368](https://dev.haiku-os.org/ticket/8368). Qt4 / Win32 / MSVC ------------------ -In order to use [log4cplus] in Qt4 programs it is necessary to set -following option: `Treat WChar_t As Built in Type: No (/Zc:wchar_t-)` +In order to use [log4cplus] in Qt4 programs it is necessary to set the +following option: `Treat WChar_t As Built-in Type: No (/Zc:wchar_t-)` -Set this option for [log4cplus] project and `Qt4DebugAppender` project -in MS Visual Studio. Remember to use Unicode versions of [log4cplus] -libraries with Qt. It is also necessary to make clear distinction -between debug and release builds of Qt project and [log4cplus]. Do -not use [log4cplus] release library with debug version of Qt program -and vice versa. +Set this option for the [log4cplus] project and the `Qt4DebugAppender` +project in MS Visual Studio. Remember to use the Unicode versions of +[log4cplus] libraries with Qt. It is also necessary to make a clear +distinction between debug and release builds of the Qt project and +[log4cplus]. Do not use the [log4cplus] release library with the debug +version of a Qt program and vice versa. -For registering Qt4DebugAppender library at runtime, call this +To register the Qt4DebugAppender library at runtime, call this function: `log4cplus::Qt4DebugAppender::registerAppender()` -Add these lines to qmake project file for using [log4cplus] and +Add these lines to the qmake project file to use [log4cplus] and `Qt4DebugAppender`: INCLUDEPATH += C:\log4cplus\include @@ -597,7 +596,7 @@ Edit the `iOS.cmake` file and add these two lines. set (CMAKE_CXX_COMPILER_WORKS TRUE) set (CMAKE_C_COMPILER_WORKS TRUE) -Add these lines. Customize them accordingly: +Add these lines, customizing them accordingly: set(MACOSX_BUNDLE_GUI_IDENTIFIER com.example) set(CMAKE_MACOSX_BUNDLE YES) @@ -617,17 +616,17 @@ If you have issues with TLS, also comment out these lines: Beware, the `%s` specifier does not work the same way on Unix--like platforms as it does on Windows with Visual Studio. With Visual Studio -the `%s` specifier changes its meaning conveniently by printing -`wchar_t` string when used with `wprintf()` and `char` strings when -used with `printf()`. On the other hand, Unix--like platforms keeps -the meaning of printing `char` strings when used with both `wprintf()` -and `printf()`. It is necessary to use `%ls` (C99) specifier or `%S` -(SUSv2) specifier to print `wchar_t` strings on Unix--like platforms. +the `%s` specifier changes its meaning by printing a `wchar_t` string +when used with `wprintf()` and a `char` string when used with +`printf()`. On the other hand, Unix-like platforms keep the meaning of +printing `char` strings when used with both `wprintf()` and +`printf()`. It is necessary to use the `%ls` (C99) specifier or the `%S` +(SUSv2) specifier to print `wchar_t` strings on Unix-like platforms. -The common ground for both platforms appears to be use of `%ls` and -`wchar_t` string to print strings with unmodified formatting string -argument on both Unix--like platforms and Windows. The conversion of -`wchar_t` back to `char` then depends on C locale. +The common ground for both platforms appears to be using `%ls` and a +`wchar_t` string to print strings with an unmodified format string on +both Unix-like platforms and Windows. The conversion of `wchar_t` back +to `char` then depends on the C locale. Unsupported compilers and platforms @@ -678,17 +677,17 @@ For successful resolution of reported bugs, it is necessary to provide enough in License ======= -This library is licensed under the Apache Public License 2.0 and two -clause BSD license. Please read the included [LICENSE](./LICENSE) file for +This library is licensed under the Apache Public License 2.0 and the +two-clause BSD license. Please read the included [LICENSE](./LICENSE) file for details. Contributions ============= -[log4cplus] (bug tracker, files, wiki) is hosted on GitHub. -See also [Contributions](https://github.com/log4cplus/log4cplus/wiki/Development#contributions) -topic on wiki. +[log4cplus] (bug tracker, files, wiki) is hosted on GitHub. See also the +[Contributions](https://github.com/log4cplus/log4cplus/wiki/Development#contributions) +topic on the wiki. Patches @@ -702,9 +701,9 @@ form: a merge request of a Git branch. Formatting ---------- -Please use common sense. Follow the style of surrounding code. You can -use the following Emacs style that is based on Microsoft's style as a -guide line: +Please use common sense. Follow the style of the surrounding code. You can +use the following Emacs style, which is based on Microsoft's style, as a +guideline: ```lisp ;; Custom MS like indentation style. @@ -731,23 +730,23 @@ Autotools is considered the primary build system on Unix--like platforms. However, CMake should still be usable on Unix--like platforms as well. -On Windows, it depends on compiler and tool-chain that you want to use. When +On Windows, it depends on the compiler and toolchain that you want to use. When using Visual Studio, use Visual Studio solution and project files. However, -CMake build system should still work and produce useful results. When using -some form of MinGW64 tool-chain, the CMake build system is considered primary -and the Autotools based build system is unsupported. Use the `MinGW Makefiles` +the CMake build system should still work and produce useful results. When using +some form of MinGW64 toolchain, the CMake build system is considered primary +and the Autotools-based build system is unsupported. Use the `MinGW Makefiles` option and build with `mingw-make` (or similar). The `MSYS Makefiles` option is untested and unsupported. #### Autotools -The `Makefile.am` files for this build systems are hand written. Some of them, +The `Makefile.am` files for this build system are hand-written. Some of them, however, are generated from `Makefile.am.tpl` and `Makefile.am.def` by [GNU Autogen][12]. This is to make adding new files to the source easier. To regenerate `Makefile.am` files, `configure` script, `testsuite` script or any other part of the Autotools build system, use the `scripts/doautoreconf.sh` -script from source root directory. It will invoke all the necessary tools in +script from the source root directory. It will invoke all the necessary tools in the correct order. [log4cplus] closely follows Autoconf's, Automake's and Libtool's development From 7b85f835ca99d6ea96d4f0923db6a4c54bce96b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Thu, 5 Jun 2025 23:12:57 +0200 Subject: [PATCH 330/353] Fix comment grammar --- CMakeLists.txt | 2 +- configure.ac | 4 ++-- docs/webpage_doxygen.config | 6 +++--- include/log4cplus/appender.h | 2 +- include/log4cplus/configurator.h | 6 +++--- include/log4cplus/fileappender.h | 2 +- include/log4cplus/helpers/stringhelper.h | 2 +- include/log4cplus/internal/customloglevelmanager.h | 4 ++-- include/log4cplus/internal/internal.h | 4 ++-- include/log4cplus/internal/socket.h | 4 ++-- include/log4cplus/layout.h | 4 ++-- include/log4cplus/logger.h | 6 +++--- include/log4cplus/ndc.h | 6 +++--- include/log4cplus/socketappender.h | 6 +++--- include/log4cplus/spi/filter.h | 2 +- include/log4cplus/spi/loggerimpl.h | 4 ++-- include/log4cplus/spi/rootlogger.h | 2 +- src/hierarchy.cxx | 2 +- src/hierarchylocker.cxx | 2 +- src/loggingevent.cxx | 2 +- src/patternlayout.cxx | 4 ++-- src/property.cxx | 4 ++-- 22 files changed, 40 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fc1e18e61..d4755c170 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,7 +126,7 @@ if (WITH_UNIT_TESTS) add_compile_definitions (LOG4CPLUS_WITH_UNIT_TESTS=1 NOMINMAX=1) if (MSVC AND MSVC_TOOLSET_VERSION VERSION_LESS "143") - message (WARNING "Adding /Zc:hiddenFriend- compiler flag to workaround Catch2 complation issue with Visual Studio 2019") + message (WARNING "Adding /Zc:hiddenFriend- compiler flag to work around Catch2 compilation issue with Visual Studio 2019") add_compile_options (/Zc:hiddenFriend-) endif () endif (WIN32) diff --git a/configure.ac b/configure.ac index 98a7eb9a9..3b6d52f75 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl This version of log4cplus requires the follwing autotools versions: +dnl This version of log4cplus requires the following autotools versions: dnl autoconf-2.69 dnl automake-1.16.1 dnl libtool-2.4.6 @@ -487,7 +487,7 @@ LOG4CPLUS_CHECK_HEADER([poll.h], [LOG4CPLUS_HAVE_POLL_H]) AS_IF([test "x$with_iconv" = "xyes"], [LOG4CPLUS_CHECK_HEADER([iconv.h], [LOG4CPLUS_HAVE_ICONV_H])]) -dnl Check for the existance of type socklen_t. +dnl Check for the existence of type socklen_t. AX_TYPE_SOCKLEN_T diff --git a/docs/webpage_doxygen.config b/docs/webpage_doxygen.config index 5a390a72b..257ad12b7 100644 --- a/docs/webpage_doxygen.config +++ b/docs/webpage_doxygen.config @@ -1092,7 +1092,7 @@ HTML_STYLESHEET = doxygen.css # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefor more robust against future updates. +# standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra stylesheet files is of importance (e.g. the last # stylesheet in the list overrules the setting of the previous ones in the @@ -1635,8 +1635,8 @@ EXTRA_PACKAGES = # Note: Only use a user-defined header if you know what you are doing! The # following commands have a special meaning inside the header: $title, # $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empy string, -# for the replacement values of the other commands the user is refered to +# $projectbrief, $projectlogo. Doxygen will replace $title with the empty string, +# for the replacement values of the other commands the user is referred to # HTML_HEADER. # This tag requires that the tag GENERATE_LATEX is set to YES. diff --git a/include/log4cplus/appender.h b/include/log4cplus/appender.h index 972359a73..60eae173a 100644 --- a/include/log4cplus/appender.h +++ b/include/log4cplus/appender.h @@ -98,7 +98,7 @@ namespace log4cplus { * *
    filters
    *
    This property specifies possibly multiple filters used by - * Appender. Each of multple filters and its properties is under a + * Appender. Each of multiple filters and its properties is under a * numbered subkey of filters key. E.g.: * filters.1=log4cplus::spi::LogLevelMatchFilter. Filter * subkey numbers must be consecutive.
    diff --git a/include/log4cplus/configurator.h b/include/log4cplus/configurator.h index 7a3b9d8d3..2a3005fa2 100644 --- a/include/log4cplus/configurator.h +++ b/include/log4cplus/configurator.h @@ -136,7 +136,7 @@ namespace log4cplus * # Set appender specific options. * log4cplus.appender.appenderName.option1=value1 * ... - * log4cplus.appender.appenderName.optionN=valueN + * log4cplus.appender.appenderName.option<N>=value<N> * * * For each named appender you can configure its {@link Layout}. The @@ -145,7 +145,7 @@ namespace log4cplus * log4cplus.appender.appenderName.layout=fully.qualified.name.of.layout.class * log4cplus.appender.appenderName.layout.option1=value1 * .... - * log4cplus.appender.appenderName.layout.optionN=valueN + * log4cplus.appender.appenderName.layout.option<N>=value<N> * * *

    Configuring loggers

    @@ -232,7 +232,7 @@ namespace log4cplus * # milliseconds, followed by the LogLevel of the log request, * # followed by the two rightmost components of the logger name, * # followed by the callers method name, followed by the line number, - * # the nested disgnostic context and finally the message itself. + * # the nested diagnostic context and finally the message itself. * # Refer to the documentation of {@link PatternLayout} for further information * # on the syntax of the ConversionPattern key. * log4cplus.appender.A1.layout=log4cplus::PatternLayout diff --git a/include/log4cplus/fileappender.h b/include/log4cplus/fileappender.h index c2b22ef20..191efd4c3 100644 --- a/include/log4cplus/fileappender.h +++ b/include/log4cplus/fileappender.h @@ -299,7 +299,7 @@ namespace log4cplus * *
    DatePattern
    *
    This property specifies filename suffix pattern to use for - * periodical backups of the logfile. The patern should be in + * periodical backups of the logfile. The pattern should be in * format supported by {@link log4cplus::helpers::Time::getFormatterTime()}. * Please notice that the format of the pattern is similar but not identical * to the one used for this option in the corresponding Log4J class. diff --git a/include/log4cplus/helpers/stringhelper.h b/include/log4cplus/helpers/stringhelper.h index 66059d4a8..0cc7a5e0e 100644 --- a/include/log4cplus/helpers/stringhelper.h +++ b/include/log4cplus/helpers/stringhelper.h @@ -112,7 +112,7 @@ namespace log4cplus { // positive counterpart instead. Also, in twos // complement arithmetic the smallest negative number // does not have positive counterpart; the range is - // asymetric. That's why we handle the case of value + // asymmetric. That's why we handle the case of value // == min() specially here. if (value == (std::numeric_limits::min) ()) [[unlikely]] { diff --git a/include/log4cplus/internal/customloglevelmanager.h b/include/log4cplus/internal/customloglevelmanager.h index ddef05095..d2c75aaad 100644 --- a/include/log4cplus/internal/customloglevelmanager.h +++ b/include/log4cplus/internal/customloglevelmanager.h @@ -30,8 +30,8 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** @file - * This header contains declaration internal to log4cplus. They must never be - * visible from user accesible headers or exported in DLL/shared library. + * This header contains declarations internal to log4cplus. They must never be + * visible from user accessible headers or exported in a DLL/shared library. */ diff --git a/include/log4cplus/internal/internal.h b/include/log4cplus/internal/internal.h index f16aec0ff..f7548af16 100644 --- a/include/log4cplus/internal/internal.h +++ b/include/log4cplus/internal/internal.h @@ -29,8 +29,8 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** @file - * This header contains declaration internal to log4cplus. They must never be - * visible from user accesible headers or exported in DLL/shared libray. + * This header contains declarations internal to log4cplus. They must never be + * visible from user accessible headers or exported in a DLL/shared library. */ diff --git a/include/log4cplus/internal/socket.h b/include/log4cplus/internal/socket.h index 058b48f0e..5f6e06fba 100644 --- a/include/log4cplus/internal/socket.h +++ b/include/log4cplus/internal/socket.h @@ -29,8 +29,8 @@ // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** @file - * This header contains declaration internal to log4cplus. They must never be - * visible from user accesible headers or exported in DLL/shared libray. + * This header contains declarations internal to log4cplus. They must never be + * visible from user accessible headers or exported in a DLL/shared library. */ diff --git a/include/log4cplus/layout.h b/include/log4cplus/layout.h index 6b4dfa452..eab2b5845 100644 --- a/include/log4cplus/layout.h +++ b/include/log4cplus/layout.h @@ -432,7 +432,7 @@ namespace log4cplus { * * * r - * Used to output miliseconds since program start + * Used to output milliseconds since program start * of the logging event. * * @@ -473,7 +473,7 @@ namespace log4cplus { * Used to output the MDC (mapped diagnostic context) * associated with the thread that generated the logging * event. It takes optional key parameter. Without the key - * paramter (%%X), it outputs the whole MDC map. With the key + * parameter (%%X), it outputs the whole MDC map. With the key * (%%X{key}), it outputs just the key's value. * * diff --git a/include/log4cplus/logger.h b/include/log4cplus/logger.h index de0b70c86..fe79a2711 100644 --- a/include/log4cplus/logger.h +++ b/include/log4cplus/logger.h @@ -63,7 +63,7 @@ namespace log4cplus /** * This is the central class in the log4cplus package. One of the - * distintive features of log4cplus are hierarchical loggers and their + * distinctive features of log4cplus are hierarchical loggers and their * evaluation. */ class LOG4CPLUS_EXPORT Logger @@ -136,7 +136,7 @@ namespace log4cplus /** * Calling this method will safely close and remove all * appenders in all the loggers including root contained in the - * default hierachy. + * default hierarchy. * * Some appenders such as SocketAppender need to be closed before the * application exits. Otherwise, pending logging events might be @@ -231,7 +231,7 @@ namespace log4cplus void setLogLevel(LogLevel ll); /** - * Return the the {@link Hierarchy} where this Logger instance is + * Return the {@link Hierarchy} where this Logger instance is * attached. */ Hierarchy& getHierarchy() const; diff --git a/include/log4cplus/ndc.h b/include/log4cplus/ndc.h index 4fbf214ce..c36a822fd 100644 --- a/include/log4cplus/ndc.h +++ b/include/log4cplus/ndc.h @@ -64,9 +64,9 @@ namespace log4cplus { * affect the NDC of the current thread only. NDCs of other * threads remain unaffected. * - * For example, a server can build a per client request NDC - * consisting the clients host name and other information contained in - * the the request. Cookies are another source of distinctive + * For example, a server can build a per-client request NDC + * consisting of the client's host name and other information contained in + * the request. Cookies are another source of distinctive * information. To build an NDC one uses the {@link #push} * operation. Simply put, * diff --git a/include/log4cplus/socketappender.h b/include/log4cplus/socketappender.h index 2f5dcdf14..42cf23074 100644 --- a/include/log4cplus/socketappender.h +++ b/include/log4cplus/socketappender.h @@ -68,17 +68,17 @@ namespace log4cplus *
  • If the remote server is down, the logging requests are * simply dropped. However, if and when the server comes back up, * then event transmission is resumed transparently. This - * transparent reconneciton is performed by a connector + * transparent reconnection is performed by a connector * thread which periodically attempts to connect to the server. * *
  • Logging events are automatically buffered by the - * native TCP implementation. This means that if the link to server + * native TCP implementation. This means that if the link to the server * is slow but still faster than the rate of (log) event production * by the client, the client will not be affected by the slow * network connection. However, if the network connection is slower * then the rate of event production, then the client can only * progress at the network rate. In particular, if the network link - * to the the server is down, the client will be blocked. + * to the server is down, the client will be blocked. * *
  • On the other hand, if the network link is up, but the server * is down, the client will not be blocked when making log requests diff --git a/include/log4cplus/spi/filter.h b/include/log4cplus/spi/filter.h index 6dc497c75..496e8be55 100644 --- a/include/log4cplus/spi/filter.h +++ b/include/log4cplus/spi/filter.h @@ -218,7 +218,7 @@ namespace log4cplus { * minimum acceptable LogLevel (ie a LogLevel is never rejected for * being too "low"/unimportant). If LogLevelMax is not * defined, then there is no maximum acceptable LogLevel (ie a - * LogLevel is never rejected for beeing too "high"/important). + * LogLevel is never rejected for being too "high"/important). * * Refer to the {@link * Appender#setThreshold setThreshold} method diff --git a/include/log4cplus/spi/loggerimpl.h b/include/log4cplus/spi/loggerimpl.h index dc226c7f4..b6d18b682 100644 --- a/include/log4cplus/spi/loggerimpl.h +++ b/include/log4cplus/spi/loggerimpl.h @@ -45,7 +45,7 @@ namespace log4cplus { /** * This is the central class in the log4cplus package. One of the - * distintive features of log4cplus are hierarchical loggers and their + * distinctive features of log4cplus are hierarchical loggers and their * evaluation. */ class LOG4CPLUS_EXPORT LoggerImpl @@ -116,7 +116,7 @@ namespace log4cplus { void setLogLevel(LogLevel _ll) { this->ll = _ll; } /** - * Return the the {@link Hierarchy} where this Logger + * Return the {@link Hierarchy} where this Logger * instance is attached. */ virtual Hierarchy& getHierarchy() const; diff --git a/include/log4cplus/spi/rootlogger.h b/include/log4cplus/spi/rootlogger.h index 91d3a3182..73fefcfb6 100644 --- a/include/log4cplus/spi/rootlogger.h +++ b/include/log4cplus/spi/rootlogger.h @@ -36,7 +36,7 @@ namespace log4cplus { namespace spi { /** - * RootLogger sits at the top of the logger hierachy. It is a + * RootLogger sits at the top of the logger hierarchy. It is a * regular logger except that it provides several guarantees. * * First, it cannot be assigned a NOT_SET_LOG_LEVEL diff --git a/src/hierarchy.cxx b/src/hierarchy.cxx index 6f9fde4af..a15bf9d94 100644 --- a/src/hierarchy.cxx +++ b/src/hierarchy.cxx @@ -326,7 +326,7 @@ Hierarchy::updateParents(Logger const & logger) bool parentFound = false; tstring substr; - // if name = "w.x.y.z", loop thourgh "w.x.y", "w.x" and "w", but not "w.x.y.z" + // if name = "w.x.y.z", loop through "w.x.y", "w.x" and "w", but not "w.x.y.z" for(std::size_t i=name.find_last_of(LOG4CPLUS_TEXT('.'), length-1); i != tstring::npos && i > 0; i = name.find_last_of(LOG4CPLUS_TEXT('.'), i-1)) diff --git a/src/hierarchylocker.cxx b/src/hierarchylocker.cxx index f1b308303..6be4a2061 100644 --- a/src/hierarchylocker.cxx +++ b/src/hierarchylocker.cxx @@ -40,7 +40,7 @@ HierarchyLocker::HierarchyLocker(Hierarchy& _h) // Get a copy of all of the Hierarchy's Loggers (except the Root Logger) h.initializeLoggerList(loggerList); - // Lock all of the Hierarchy's Loggers' mutexs + // Lock all of the Hierarchy's Loggers' mutexes LoggerList::iterator it; try { diff --git a/src/loggingevent.cxx b/src/loggingevent.cxx index 02f975247..f4962b990 100644 --- a/src/loggingevent.cxx +++ b/src/loggingevent.cxx @@ -143,7 +143,7 @@ InternalLoggingEvent::setLoggingEvent (const log4cplus::tstring_view & logger, LogLevel loglevel, const log4cplus::tstring_view & msg, const char * filename, int fline, const char * function_) { - // This could be imlemented using the swap idiom: + // This could be implemented using the swap idiom: // // InternalLoggingEvent (logger, loglevel, msg, filename, fline).swap (*this); // diff --git a/src/patternlayout.cxx b/src/patternlayout.cxx index 5fbcd6eb5..e6d9dafe3 100644 --- a/src/patternlayout.cxx +++ b/src/patternlayout.cxx @@ -219,7 +219,7 @@ class EnvPatternConverter : public PatternConverter { }; -//! This pattern is used to format miliseconds since process start. +//! This pattern is used to format milliseconds since process start. class RelativeTimestampConverter: public PatternConverter { public: explicit RelativeTimestampConverter(const FormattingInfo& info); @@ -516,7 +516,7 @@ LoggerPatternConverter::convert(tstring & result, else { auto len = name.length(); - // We substract 1 from 'len' when assigning to 'end' to avoid out of + // We subtract 1 from 'len' when assigning to 'end' to avoid out of // bounds exception in return r.substring(end+1, len). This can happen // if precision is 1 and the logger name ends with a dot. auto end = len - 1; diff --git a/src/property.cxx b/src/property.cxx index 6c4ad4e27..e3f45f083 100644 --- a/src/property.cxx +++ b/src/property.cxx @@ -194,7 +194,7 @@ imbue_file_from_flags ([[maybe_unused]] tistream & file, unsigned flags) * Perform variable substitution in string val from * environment variables. * - *

    The variable substitution delimeters are ${ and }. + *

    The variable substitution delimiters are ${ and }. * *

    For example, if the System properties contains "key=value", then * the call @@ -288,7 +288,7 @@ substVars (tstring & dest, const tstring & val, i = var_start + replacement.size (); } else - // Nothing has been subtituted, just move beyond the + // Nothing has been substituted, just move beyond the // unexpanded variable. i = var_end + DELIM_STOP_LEN; } // end while loop From f43361b523a1f905c53902d8de8a8034bf457f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Haisman?= Date: Thu, 5 Jun 2025 23:59:36 +0200 Subject: [PATCH 331/353] docs/examples.md: Fix grammar. --- docs/examples.md | 74 +++++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/docs/examples.md b/docs/examples.md index 3efa5fafb..b4374260c 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -26,34 +26,34 @@ main() } ~~~~ -The above code prints `WARN - Hello, World!` on console. Let's dissect it: +The above code prints `WARN - Hello, World!` on the console. Let's dissect it: ~~~~{.cpp} #include ~~~~ -We need this header to get `Logger` class which represents a handle to named -logger. +We need this header to obtain the `Logger` class, which represents a handle to +a named logger. ~~~~{.cpp} #include ~~~~ -This header declares `LOG4CPLUS_WARN()` logging macro. Beside this one, it also -declares one for each standard logging level: FATAL, ERROR, WARN, INFO, DEBUG, -TRACE. +This header declares the `LOG4CPLUS_WARN()` logging macro. +Besides this one, it declares a macro for each standard logging level: +FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. ~~~~{.cpp} #include ~~~~ -This header declares `BasicConfigurator` class. +This header declares the `BasicConfigurator` class. ~~~~{.cpp} #include ~~~~ -This header declares `Initializer` class. +This header declares the `Initializer` class. ~~~~{.cpp} log4cplus::Initializer initializer; @@ -63,7 +63,7 @@ Instantiating the `Initializer` class internally initializes [log4cplus]. The `Initializer` class also maintains a reference count. The class can be instantiated multiple times. When this reference count reaches zero, after the -last instance of `Initializer` is destroyed, it shuts down [log4cplus] +last instance of `Initializer` is destroyed, it shuts down the [log4cplus] internals. Currently, after [log4cplus] is deinitialized, it cannot be re-initialized. @@ -76,7 +76,7 @@ log4cplus::BasicConfigurator config; config.configure(); ~~~~ -These two lines configure _root logger_ with `ConsoleAppender` and simple +These two lines configure _root logger_ with `ConsoleAppender` and a simple layout. ~~~~{.cpp} @@ -84,7 +84,7 @@ log4cplus::Logger logger = log4cplus::Logger::getInstance( LOG4CPLUS_TEXT("main")); ~~~~ -Here we obtain logger handle to logger named _main_. +Here we obtain a handle to the logger named _main_. The `LOG4CPLUS_TEXT()` macro used above has the same function as the `TEXT()` or `_T()` macros do on Windows: In case `UNICODE` preprocessor symbol is @@ -97,34 +97,35 @@ LOG4CPLUS_WARN(logger, LOG4CPLUS_TEXT("Hello, World!")); Here we invoke the `LOG4CPLUS_WARN()` macro to log the _Hello, World!_ message into the _main_ logger. The logged message will be propagated from the _main_ -logger towards the _root logger_ which has a `ConsoleAppender` attached to it -to print it on console. +to the _root logger_, which has a `ConsoleAppender` attached + to print it on the console. -Internally, this macro uses C++ string stream to format the _Hello, World!_ -message. The consequence of this is that you can use all of the standard C++ -streams manipulators. +Internally, this macro uses a C++ string stream + to format the _Hello, World!_ message. +This allows you to use all of the standard C++ stream manipulators. ## (De-)Initialization ### Initialization -In most cases, [log4cplus] is initialized before `main()` is executed. However, -depending on compiler, platform, run time libraries and how log4cplus is linked -to, it is possible it will not be initialized automatically. This is why -initializing [log4cplus] on top of `main()` is a good rule of thumb. +In most cases, [log4cplus] is initialized before `main()` is executed. +However, depending on compiler, platform, run time libraries and how +log4cplus is linked to, it is possible it will not be initialized +automatically. This is why initializing [log4cplus] on top of `main()` is a +good rule of thumb. -As the previous code example shows, initialization of [log4cplus] is done by -instantiation of `log4cplus::Initializer` class. This is true for [log4cplus] -versions 2.0 and later. In previous versions, instead of instantiating this -class (the header `log4cplus/initializer.h` and the class do not exist there), -call to function `log4cplus::initialize()` is used. +As the previous example shows, [log4cplus] is initialized by instantiating the +`log4cplus::Initializer` class. This is true for [log4cplus] versions 2.0 and +later. In previous versions, instead of instantiating this class (the header +`log4cplus/initializer.h` and the class do not exist there), call to function +`log4cplus::initialize()` is used. ### Deinitialization [log4cplus] tries to deinitialize itself and free all of its allocated -resources after `main()` exits. However, again, depending on compiler, platform -and run time libraries, it might not be possible. This is why proper +resources after `main()` exits. However, again, depending on compiler, +platform and run time libraries, it might not be possible. This is why proper deinitialization is _necessary_. In version 2.0 and later, it is done by the last instance of @@ -134,8 +135,8 @@ calling `Logger::shutdown()` was the proper shutdown method. ## Logging macros As we have mentioned earlier, `LOG4CPLUS_WARN()`, `LOG4CPLUS_ERROR()`, etc., -macros use C++ string stream under the hood. The following example demonstrates -how is it possible to use it with the macros. +macros use C++ string stream under the hood. The following example +demonstrates how is it possible to use it with the macros. Beside these macros, there are two more groups of logging macros. `LOG4CPLUS_*_STR()` can be used for logging messages that are just plain @@ -175,7 +176,8 @@ main() LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned short: ") << static_cast(100)); LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a int: ") << 1000); - LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned int: ") << 1000U); + LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned int: ") + << 1000U); LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a long(hex): ") << std::hex << 100000000L); LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned long: ") @@ -221,7 +223,7 @@ formatting string. ## Log level This example shows how log messages can be filtered at run time by adjusting -the _log level threshold_ on `Logger` instance. +the _log level threshold_ on a `Logger` instance. ~~~~{.cpp} #include @@ -237,7 +239,7 @@ printMessages(log4cplus::Logger const & logger) // Print messages using all common log levels. LOG4CPLUS_TRACE (logger, "printMessages()"); LOG4CPLUS_DEBUG (logger, "This is a DEBUG message"); - LOG4CPLUS_INFO (logger, "This is a INFO message"); + LOG4CPLUS_INFO (logger, "This is an INFO message"); LOG4CPLUS_WARN (logger, "This is a WARN message"); LOG4CPLUS_ERROR (logger, "This is a ERROR message"); LOG4CPLUS_FATAL (logger, "This is a FATAL message"); @@ -282,26 +284,26 @@ main() ~~~~ The code prints fewer and fewer messages as the log level threshold is being -risen. +raised. ~~~~ *** calling printMessages() with TRACE set: *** TRACE - printMessages() DEBUG - This is a DEBUG message -INFO - This is a INFO message +INFO - This is an INFO message WARN - This is a WARN message ERROR - This is a ERROR message FATAL - This is a FATAL message *** calling printMessages() with DEBUG set: *** DEBUG - This is a DEBUG message -INFO - This is a INFO message +INFO - This is an INFO message WARN - This is a WARN message ERROR - This is a ERROR message FATAL - This is a FATAL message *** calling printMessages() with INFO set: *** -INFO - This is a INFO message +INFO - This is an INFO message WARN - This is a WARN message ERROR - This is a ERROR message FATAL - This is a FATAL message From 66eae4559a72bb3c3e7812a63ce076da558205b3 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 6 Jun 2025 00:08:09 +0200 Subject: [PATCH 332/353] unicode.txt: Typo fix. --- docs/unicode.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/unicode.txt b/docs/unicode.txt index d6aed9b7f..6eb231d36 100644 --- a/docs/unicode.txt +++ b/docs/unicode.txt @@ -36,7 +36,7 @@ built--in). Unicode and file appenders -------------------------- -Another limitation related to Unicode support is then inability to +Another limitation related to Unicode support is the inability to write `wchar_t` messages that contain national characters that do not map to any code point in single byte code page to log files using `FileAppender`. This is a problem mainly on Windows. Linux and other From cb1af982d298252fa9c36a81509276a2266e5002 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 6 Jun 2025 00:14:46 +0200 Subject: [PATCH 333/353] unicode.txt: Fix grammar. --- docs/unicode.txt | 80 ++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/unicode.txt b/docs/unicode.txt index 6eb231d36..5062efdcc 100644 --- a/docs/unicode.txt +++ b/docs/unicode.txt @@ -1,62 +1,61 @@ UNICODE ======= -Log4cplus uses the expression "UNICODE" in at least two not so equal -meanings: +Log4cplus uses the term "UNICODE" in at least two not entirely equal meanings: -1. the [Unicode][unicode] standard as defined by the Unicode Consortium +1. The [Unicode][unicode] standard as defined by the Unicode Consortium. -2. compiler's and/or C++ standard library's support for strings of - `wchar_t`s and their manipulation +2. The compiler's and/or C++ standard library's support for strings of + `wchar_t`s and their manipulation. [unicode]: http://unicode.org/ -`wchar_t` support +`wchar_t` Support ----------------- -Log4cplus is aimed to be portable and to have as little 3rd party -dependencies as possible. To fulfill this goal it has to use +Log4cplus aims to be portable and to have as few third-party +dependencies as possible. To fulfill this goal, it must use facilities offered by the operating systems and standard libraries it -runs on. To offer the best possible level of support of national -character, it has to support usage of `wchar_t` and it has to use -`wchar_t` support (especially on Windows) provided by operating system +runs on. To offer the best possible level of support for national +characters, it must support the use of `wchar_t` and utilize +`wchar_t` support (especially on Windows) provided by the operating system and standard C and C++ libraries. This approach to portability has some limitations. One of the -limitations is lacking support for C++ locales in various operating +limitations is the lack of support for C++ locales in various operating systems and standard C++ libraries. Some standard C++ libraries do not -support other than the "C" and "POSIX" locales. This usually means -that `wchar_t`↔`char` conversion using `std::codecvt<>` facet is +support locales other than "C" and "POSIX". This usually means +that `wchar_t`↔`char` conversion using the `std::codecvt<>` facet is impossible. On such deficient platforms, log4cplus can use either standard C locale support or `iconv()` (through libiconv or -built--in). +built-in). -Unicode and file appenders +Unicode and File Appenders -------------------------- Another limitation related to Unicode support is the inability to -write `wchar_t` messages that contain national characters that do not -map to any code point in single byte code page to log files using -`FileAppender`. This is a problem mainly on Windows. Linux and other -Unix--like systems can avoid it because they do not need to use -`wchar_t` interfaces to have Unicode aware applications. They usually -(as of year 2012) use UTF-8 based locales. With proper C++ locale -setup in client applications, national characters can come through -into log files unharmed. But if they choose to use `wchar_t` strings, -they face the problem as well. - - -Unix--like platforms --------------------- - -To support output of non-ASCII characters in `wchar_t` message on -Unix--like platforms, it is necessary to use UTF-8 based locale (e.g., -`en_US.UTF-8`) and to set up global locale with `std::codecvt<>` facet +write `wchar_t` messages that contain national characters, which do not +map to any code point in a single-byte code page, to log files using +`FileAppender`. This is mainly a problem on Windows. Linux and other +Unix-like systems can avoid it because they do not need to use +`wchar_t` interfaces to have Unicode-aware applications. They usually +(as of 2012) use UTF-8 based locales. With proper C++ locale +setup in client applications, national characters can be written to +log files unharmed. However, if they choose to use `wchar_t` strings, +they face the same problem. + + +Unix-like Platforms +------------------- + +To support output of non-ASCII characters in `wchar_t` messages on +Unix-like platforms, it is necessary to use a UTF-8 based locale (e.g., +`en_US.UTF-8`) and to set up the global locale with the `std::codecvt<>` facet or imbue individual `FileAppender`s with that facet. The following -code can be used to get such `std::locale` instance and to set it into -global locale: +code can be used to get such a `std::locale` instance and set it as +the global locale: ~~~~{.cpp} std::locale::global ( // set global locale @@ -70,12 +69,12 @@ std::locale::global ( // set global locale Windows ------- -Windows do not support UTF-8 based locales. The above approach will -yield a `std::locale` instance converting `wchar_t`s to current -process' code page. Such locale will not be able to convert Unicode -code points outside the process' code page. This is true at least with +Windows does not support UTF-8 based locales. The above approach will +yield a `std::locale` instance converting `wchar_t`s to the current +process's code page. Such a locale will not be able to convert Unicode +code points outside the process's code page. This is true at least with the `std::codecvt` facet implemented in Visual Studio 2010. Instead, -with Visual Studio 2010 and later, it is possible to use +with Visual Studio 2010 and later, it is possible to use the `std::codecvt_utf8` facet: ~~~~{.cpp} @@ -87,3 +86,4 @@ std::locale::global ( // set global locale static_cast(std::consume_header | std::little_endian)>)); ~~~~ + From a2990a23b38d11b26f58eb9b4819cce4ca3381b8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Fri, 6 Jun 2025 00:21:53 +0200 Subject: [PATCH 334/353] Attempt to re-enable MacOS X build. --- .github/workflows/c-cpp.yml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3ef326cbd..f1525f9cf 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -9,6 +9,7 @@ on: jobs: build: strategy: + fail-fast: false matrix: config: - os: 'ubuntu-24.04' @@ -16,12 +17,24 @@ jobs: cxx: 'g++-14' prereq: | sudo apt install libboost-iostreams-dev - ### Mac OS X does not have Boost installed. - #- os: 'macos-14' - # cc: 'clang' - # cxx: 'clang++' - # prereq: | - # sudo xcode-select -s '/Applications/Xcode_15.4.app/Contents/Developer' + + # Enable macOS build by installing Boost via Homebrew + - os: 'macos-15' + cc: 'clang' + cxx: 'clang++' + cppflags: '-I$(brew --prefix boost)/include' + prereq: | + #brew update + brew install boost + sudo xcode-select -s '/Applications/Xcode_16.4.app/Contents/Developer' + + - os: 'macos-15' + cc: '$(brew --prefix llvm@18)/bin/clang' + cxx: '$(brew --prefix llvm@18)/bin/clang++' + cppflags: '-I$(brew --prefix boost)/include' + prereq: | + brew install boost + sudo xcode-select -s '/Applications/Xcode_16.4.app/Contents/Developer' runs-on: ${{ matrix.config.os }} @@ -38,7 +51,8 @@ jobs: ./scripts/fix-timestamps.sh mkdir objdir cd objdir - ../configure CC='${{ matrix.config.cc }}' CXX='${{ matrix.config.cxx }}' --enable-shared --enable-unit-tests --with-working-locale + ../configure CPPFLAGS="${{ matrix.config.cppflags }}" CC="${{ matrix.config.cc }}" CXX="${{ matrix.config.cxx }}" --enable-shared --enable-unit-tests --with-working-locale + ./config.status --config - name: make run: cd objdir ; make - name: make check From faf4f97b3b2925a6d2bde9188aeb1fa82a03c111 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 20:53:42 +0200 Subject: [PATCH 335/353] Qt6 debug appender support. CMake parts. --- CMakeLists.txt | 5 + Makefile.am | 4 + Makefile.am.def | 1 + include/Makefile.am | 1 + include/Makefile.in | 5 +- include/log4cplus/qt6debugappender.h | 103 +++++++++++++++++++ qt6debugappender/CMakeLists.txt | 53 ++++++++++ qt6debugappender/Makefile.am | 33 ++++++ qt6debugappender/qt6debugappender.cxx | 142 ++++++++++++++++++++++++++ 9 files changed, 345 insertions(+), 2 deletions(-) create mode 100644 include/log4cplus/qt6debugappender.h create mode 100644 qt6debugappender/CMakeLists.txt create mode 100644 qt6debugappender/Makefile.am create mode 100644 qt6debugappender/qt6debugappender.cxx diff --git a/CMakeLists.txt b/CMakeLists.txt index d4755c170..b6508bb32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,7 @@ endif (LOG4CPLUS_SINGLE_THREADED) option (LOG4CPLUS_QT4 "Build with Qt4DebugAppender" OFF) option (LOG4CPLUS_QT5 "Build with Qt5DebugAppender" OFF) +option (LOG4CPLUS_QT6 "Build with Qt6DebugAppender" OFF) option(UNICODE "Build with tchar = wchar_t" ${UNICODE_DEFAULT}) @@ -213,6 +214,10 @@ endif (LOG4CPLUS_QT4) if (LOG4CPLUS_QT5) add_subdirectory (qt5debugappender) endif (LOG4CPLUS_QT5) +if (LOG4CPLUS_QT6) + add_subdirectory (qt6debugappender) +endif (LOG4CPLUS_QT6) + include(Log4CPlusCPack.cmake) diff --git a/Makefile.am b/Makefile.am index 1306c29a3..2c97ac4ae 100644 --- a/Makefile.am +++ b/Makefile.am @@ -51,6 +51,10 @@ if QT5 include %D%/qt5debugappender/Makefile.am endif +if QT6 +include %D%/qt5debugappender/Makefile.am +endif + include %D%/swig/Makefile.common.am include %D%/swig/python/Makefile.am diff --git a/Makefile.am.def b/Makefile.am.def index 69bf2ba24..5ac13ec07 100644 --- a/Makefile.am.def +++ b/Makefile.am.def @@ -4,5 +4,6 @@ src-dirs = { name = src; }; src-dirs = { name = simpleserver; }; src-dirs = { name = qt4debugappender; conditional = QT; }; src-dirs = { name = qt5debugappender; conditional = QT5; }; +src-dirs = { name = qt5debugappender; conditional = QT6; }; src-dirs = { name = swig; }; src-dirs = { name = tests; conditional = ENABLE_TESTS; }; diff --git a/include/Makefile.am b/include/Makefile.am index 32f65e219..8e539c824 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -57,6 +57,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/nullappender.h \ log4cplus/qt4debugappender.h \ log4cplus/qt5debugappender.h \ + log4cplus/qt6debugappender.h \ log4cplus/socketappender.h \ log4cplus/spi/appenderattachable.h \ log4cplus/spi/factory.h \ diff --git a/include/Makefile.in b/include/Makefile.in index eff74c6be..fc2c2942a 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.17 from Makefile.am. +# Makefile.in generated by automake 1.17.92 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2024 Free Software Foundation, Inc. +# Copyright (C) 1994-2025 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -420,6 +420,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/nullappender.h \ log4cplus/qt4debugappender.h \ log4cplus/qt5debugappender.h \ + log4cplus/qt6debugappender.h \ log4cplus/socketappender.h \ log4cplus/spi/appenderattachable.h \ log4cplus/spi/factory.h \ diff --git a/include/log4cplus/qt6debugappender.h b/include/log4cplus/qt6debugappender.h new file mode 100644 index 000000000..9f03d774f --- /dev/null +++ b/include/log4cplus/qt6debugappender.h @@ -0,0 +1,103 @@ +// -*- C++ -*- +// Module: Log4cplus +// File: qt6debugappender.h +// Created: 6/2025 +// Author: Vaclav Haisman +// +// +// Copyright (C) 2025, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// + +/** @file */ + +#ifndef LOG4CPLUS_QT6DEBUGAPPENDER_H +#define LOG4CPLUS_QT6DEBUGAPPENDER_H + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#include + +#if defined (_WIN32) + #if defined (log4cplusqt6debugappender_EXPORTS) \ + || defined (log4cplusqt6debugappenderU_EXPORTS) \ + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER)) + #undef LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL + #define LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL + #endif + #if defined (LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL) + #if defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT __declspec(dllexport) + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT __declspec(dllimport) + #endif + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT + #endif +#else + #if defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT LOG4CPLUS_DECLSPEC_EXPORT + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT LOG4CPLUS_DECLSPEC_IMPORT + #endif // defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) +#endif // !_WIN32 + + +namespace log4cplus +{ + + +class LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT Qt6DebugAppender + : public Appender +{ +public: + Qt6DebugAppender (); + explicit Qt6DebugAppender (helpers::Properties const &); + + Qt6DebugAppender (Qt6DebugAppender const &) = delete; + Qt6DebugAppender & operator = (Qt6DebugAppender const &) = delete; + + virtual ~Qt6DebugAppender (); + + virtual void close () override; + + static void registerAppender (); + +protected: + virtual void append (spi::InternalLoggingEvent const &) override; +}; + + +typedef helpers::SharedObjectPtr Qt6DebugAppenderPtr; + + +} // namespace log4cplus + + +#endif // LOG4CPLUS_QT6DEBUGAPPENDER_H diff --git a/qt6debugappender/CMakeLists.txt b/qt6debugappender/CMakeLists.txt new file mode 100644 index 000000000..369dbda54 --- /dev/null +++ b/qt6debugappender/CMakeLists.txt @@ -0,0 +1,53 @@ +set (qt6debugappender_sources + qt6debugappender.cxx) + +message (STATUS "Configuring Qt6 Debug Appender") +find_package(Qt6 REQUIRED COMPONENTS Core)#include (${QT_USE_FILE}) + +set (qt6debugappender log4cplusqt6debugappender${log4cplus_postfix}) +add_library (${qt6debugappender} ${qt6debugappender_sources}) +add_library (log4cplus::qt6debugappender ALIAS ${qt6debugappender}) +if (UNICODE) + target_compile_definitions (${qt6debugappender} PUBLIC UNICODE) + target_compile_definitions (${qt6debugappender} PUBLIC _UNICODE) + add_definitions (-UMBCS -U_MBCS) +endif (UNICODE) +if (${BUILD_SHARED_LIBS}) + target_compile_definitions (${qt6debugappender} PRIVATE ${log4cplus}_EXPORTS) +endif () +target_link_libraries (${qt6debugappender} + PUBLIC ${log4cplus} + PRIVATE Qt6::Core + PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +target_include_directories (${qt6debugappender} PUBLIC ${Qt6Core_INCLUDES}) +target_compile_definitions (${qt6debugappender} PUBLIC ${Qt6Core_DEFINITIONS}) + +if (ANDROID) + # Android does not seem to have SO version support. +elseif (WIN32) + set_target_properties (${qt6debugappender} PROPERTIES + VERSION "${log4cplus_version_major}.${log4cplus_version_minor}.${log4cplus_version_patch}") +else () + set_target_properties (${qt6debugappender} PROPERTIES + SOVERSION "${log4cplus_soversion}") +endif () +target_compile_definitions (${qt6debugappender} PRIVATE INSIDE_LOG4CPLUS_QT5DEBUGAPPENDER) + +if (APPLE) + set_target_properties (${log4cplus} PROPERTIES + MACHO_CURRENT_VERSION "${log4cplus_macho_current_version}" + MACHO_COMPATIBILITY_VERSION "${log4cplus_macho_compatibility_version}") +endif () + +if (WIN32) + set_target_properties (${qt6debugappender} PROPERTIES + DEBUG_POSTFIX "D") +endif () + +install (TARGETS ${qt6debugappender} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + +install (FILES ../include/log4cplus/qt6debugappender.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/log4cplus) diff --git a/qt6debugappender/Makefile.am b/qt6debugappender/Makefile.am new file mode 100644 index 000000000..2f516bfb8 --- /dev/null +++ b/qt6debugappender/Makefile.am @@ -0,0 +1,33 @@ +lib_LTLIBRARIES += liblog4cplusqt6debugappender.la + +liblog4cplusqt6debugappender_la_cppflags = \ + $(AM_CPPFLAGS) \ + -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ + @QT5_CFLAGS@ +liblog4cplusqt6debugappender_la_CPPFLAGS = \ + $(liblog4cplusqt6debugappender_la_cppflags) + +liblog4cplusqt6debugappender_la_sources = \ + $(INCLUDES_SRC_PATH)/qt6debugappender.h \ + qt6debugappender/qt6debugappender.cxx +liblog4cplusqt6debugappender_la_SOURCES = \ + $(liblog4cplusqt6debugappender_la_sources) + +liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) + +liblog4cplusqt6debugappender_la_ldflags = -no-undefined \ + $(LOG4CPLUS_VERSION_LT_FLAGS) \ + @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ +liblog4cplusqt6debugappender_la_LDFLAGS = \ + $(liblog4cplusqt6debugappender_la_ldflags) + +if BUILD_WITH_WCHAR_T_SUPPORT +lib_LTLIBRARIES += liblog4cplusqt6debugappenderU.la +liblog4cplusqt6debugappenderU_la_CPPFLAGS = \ + $(liblog4cplusqt6debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 +liblog4cplusqt6debugappenderU_la_SOURCES = \ + $(liblog4cplusqt6debugappender_la_sources) +liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) +liblog4cplusqt6debugappenderU_la_LDFLAGS = \ + $(liblog4cplusqt6debugappender_la_ldflags) +endif diff --git a/qt6debugappender/qt6debugappender.cxx b/qt6debugappender/qt6debugappender.cxx new file mode 100644 index 000000000..8ca4b29b5 --- /dev/null +++ b/qt6debugappender/qt6debugappender.cxx @@ -0,0 +1,142 @@ +// Module: Log4cplus +// File: qt6debugappender.cxx +// Created: 6/2025 +// Author: Vaclav Haisman +// +// +// Copyright (C) 2025, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +// Forward Declarations +namespace log4cplus +{ + + +Qt6DebugAppender::Qt6DebugAppender () + : Appender () +{ } + + +Qt6DebugAppender::Qt6DebugAppender (helpers::Properties const & props) + : Appender (props) +{ } + + +Qt6DebugAppender::~Qt6DebugAppender () +{ + destructorImpl (); +} + + +void +Qt6DebugAppender::close () +{ } + + +void +Qt6DebugAppender::append (spi::InternalLoggingEvent const & ev) +{ + // TODO: Expose log4cplus' internal TLS to use here. + tostringstream oss; + layout->formatAndAppend(oss, ev); + + LogLevel const ll = ev.getLogLevel (); + std::string const & file = LOG4CPLUS_TSTRING_TO_STRING (ev.getFile ()); + std::string const & func = LOG4CPLUS_TSTRING_TO_STRING (ev.getFunction ()); + std::string const & logger + = LOG4CPLUS_TSTRING_TO_STRING (ev.getLoggerName ()); + int const line = ev.getLine (); + + QMessageLogger qlogger (file.c_str (), line, func.c_str (), + logger.c_str ()); + void (QMessageLogger:: * log_func) (const char *, ...) const = 0; + + if (ll >= ERROR_LOG_LEVEL) + log_func = &QMessageLogger::critical; + else if (ll >= WARN_LOG_LEVEL) + log_func = &QMessageLogger::warning; + else + log_func = &QMessageLogger::debug; + + (qlogger.*log_func) ("%s", + LOG4CPLUS_TSTRING_TO_STRING (oss.str ()).c_str ()); +} + + +void +Qt6DebugAppender::registerAppender () +{ + log4cplus::spi::AppenderFactoryRegistry & reg + = log4cplus::spi::getAppenderFactoryRegistry (); + LOG4CPLUS_REG_APPENDER (reg, Qt6DebugAppender); +} + + +} // namespace log4cplus + + +#if defined (_WIN32) +extern "C" +BOOL WINAPI DllMain(LOG4CPLUS_DLLMAIN_HINSTANCE, // handle to DLL module + DWORD fdwReason, // reason for calling function + LPVOID) // reserved +{ + // Perform actions based on the reason for calling. + switch( fdwReason ) + { + case DLL_PROCESS_ATTACH: + { + // We cannot do this here because it causes the thread to deadlock + // when compiled with Visual Studio due to use of C++11 threading + // facilities. + + //log4cplus::Qt6DebugAppender::registerAppender (); + break; + } + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + break; + } + + return TRUE; // Successful DLL_PROCESS_ATTACH. +} + +#endif // defined (_WIN32) From 71d7b8ca91159ab13ad9e5d658786b866fb48bd1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 20:54:50 +0200 Subject: [PATCH 336/353] Regenerate Autotools files with Automake 1.18. --- Makefile.in | 4 +- aclocal.m4 | 74 ++-- ar-lib | 23 +- compile | 33 +- config.guess | 11 +- config.sub | 729 ++++++++++++++++++++++++++++++---------- configure | 139 +++++++- depcomp | 6 +- install-sh | 4 +- missing | 6 +- mkinstalldirs | 4 +- py-compile | 33 +- scripts/doautoreconf.sh | 2 +- 13 files changed, 822 insertions(+), 246 deletions(-) diff --git a/Makefile.in b/Makefile.in index df93d3870..e6e07047b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.17 from Makefile.am. +# Makefile.in generated by automake 1.17.92 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2024 Free Software Foundation, Inc. +# Copyright (C) 1994-2025 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/aclocal.m4 b/aclocal.m4 index 0d007d34d..3ef7e38d3 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.17 -*- Autoconf -*- +# generated automatically by aclocal 1.18 -*- Autoconf -*- -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2024 Free Software Foundation, Inc. +# Copyright (C) 2002-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.17' +[am__api_version='1.18' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.17], [], +m4_if([$1], [1.18], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.17])dnl +[AM_AUTOMAKE_VERSION([1.18])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2024 Free Software Foundation, Inc. +# Copyright (C) 2011-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -120,7 +120,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -172,7 +172,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2024 Free Software Foundation, Inc. +# Copyright (C) 1997-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -203,7 +203,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -394,7 +394,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -462,7 +462,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -562,8 +562,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])], + [_AM_PROG_TAR([ustar])])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], @@ -639,7 +640,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -660,7 +661,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2024 Free Software Foundation, Inc. +# Copyright (C) 2003-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -682,7 +683,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -717,7 +718,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -760,7 +761,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2024 Free Software Foundation, Inc. +# Copyright (C) 1997-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -794,7 +795,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -823,7 +824,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -855,7 +856,10 @@ AC_CACHE_CHECK( break fi done - rm -f core conftest* + # aligned with autoconf, so not including core; see bug#72225. + rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \ + conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \ + conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. @@ -870,7 +874,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1240,7 +1244,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2022-2024 Free Software Foundation, Inc. +# Copyright (C) 2022-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1256,7 +1260,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""']) AC_SUBST(am__rm_f_notfound) ]) -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1275,7 +1279,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1444,10 +1448,12 @@ am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_RESULT([no]) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_RESULT([no]) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac @@ -1500,7 +1506,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2024 Free Software Foundation, Inc. +# Copyright (C) 2009-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1569,9 +1575,13 @@ fi # empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_REQUIRE([_AM_SILENT_RULES]) -AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])]) +AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline +dnl We intentionally force a newline after the assignment, since a) nothing +dnl good can come of more text following, and b) that was the behavior +dnl before 1.17. See https://bugs.gnu.org/72267. +]) -# Copyright (C) 2001-2024 Free Software Foundation, Inc. +# Copyright (C) 2001-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1599,7 +1609,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2024 Free Software Foundation, Inc. +# Copyright (C) 2006-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1618,7 +1628,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2024 Free Software Foundation, Inc. +# Copyright (C) 2004-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1753,7 +1763,7 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -# Copyright (C) 2022-2024 Free Software Foundation, Inc. +# Copyright (C) 2022-2025 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 152198749..d0a7b5c8a 100755 --- a/ar-lib +++ b/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2024-06-19.01; # UTC +scriptversion=2025-02-03.05; # UTC -# Copyright (C) 2010-2024 Free Software Foundation, Inc. +# Copyright (C) 2010-2025 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -51,9 +51,20 @@ func_file_conv () # lazily determine how to convert abs files case `uname -s` in MINGW*) - file_conv=mingw + if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then + # MSYS2 environment. + file_conv=cygwin + else + # Original MinGW environment. + file_conv=mingw + fi ;; - CYGWIN* | MSYS*) + MSYS*) + # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. + file_conv=cygwin + ;; + CYGWIN*) + # Cygwin environment. file_conv=cygwin ;; *) @@ -65,8 +76,8 @@ func_file_conv () mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin | msys) - file=`cygpath -m "$file" || echo "$file"` + cygwin) + file=`cygpath -w "$file" || echo "$file"` ;; wine) file=`winepath -w "$file" || echo "$file"` diff --git a/compile b/compile index 49b3d05fd..c404e89e4 100755 --- a/compile +++ b/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2024-06-19.01; # UTC +scriptversion=2025-02-03.05; # UTC -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -37,11 +37,11 @@ IFS=" "" $nl" file_conv= -# func_file_conv build_file lazy +# func_file_conv build_file unneeded_conversions # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. +# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no +# conversion will take place. func_file_conv () { file=$1 @@ -51,9 +51,20 @@ func_file_conv () # lazily determine how to convert abs files case `uname -s` in MINGW*) - file_conv=mingw + if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then + # MSYS2 environment. + file_conv=cygwin + else + # Original MinGW environment. + file_conv=mingw + fi ;; - CYGWIN* | MSYS*) + MSYS*) + # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. + file_conv=cygwin + ;; + CYGWIN*) + # Cygwin environment. file_conv=cygwin ;; *) @@ -63,12 +74,14 @@ func_file_conv () fi case $file_conv/,$2, in *,$file_conv,*) + # This is the optimization mentioned above: + # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert. ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) - file=`cygpath -m "$file" || echo "$file"` + cygwin/*) + file=`cygpath -w "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` @@ -343,7 +356,7 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/config.guess b/config.guess index f6d217a49..48a684601 100755 --- a/config.guess +++ b/config.guess @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2024-01-01' +timestamp='2024-07-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -123,7 +123,7 @@ set_cc_for_build() { dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do + for driver in cc gcc c17 c99 c89 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD=$driver break @@ -634,7 +634,8 @@ EOF sed 's/^ //' << EOF > "$dummy.c" #include - main() + int + main () { if (!__power_pc()) exit(1); @@ -718,7 +719,8 @@ EOF #include #include - int main () + int + main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); @@ -1621,6 +1623,7 @@ cat > "$dummy.c" <&2 exit 1 ;; - kfreebsd*-gnu*- | kopensolaris*-gnu*-) + kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-) ;; vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ;; @@ -1864,6 +2245,8 @@ case $kernel-$os-$obj in ;; os2-emx-) ;; + rtmk-nova-) + ;; *-eabi*- | *-gnueabi*-) ;; none--*) @@ -1890,7 +2273,7 @@ case $vendor in *-riscix*) vendor=acorn ;; - *-sunos*) + *-sunos* | *-solaris*) vendor=sun ;; *-cnk* | *-aix*) diff --git a/configure b/configure index 4e53e4eaa..d62d23ce2 100755 --- a/configure +++ b/configure @@ -3264,7 +3264,7 @@ test -n "$target_alias" && program_prefix=${target_alias}- -am__api_version='1.17' +am__api_version='1.18' # Find a good install program. We prefer a C program (faster), @@ -3533,10 +3533,14 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac @@ -3996,9 +4000,133 @@ AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' +_am_tools='gnutar plaintar pax cpio none' + +# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5 +printf %s "checking whether UID '$am_uid' is supported by ustar format... " >&6; } + if test x$am_uid = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ancient id detected; assuming current UID is ok, but dist-ustar might not work" >&5 +printf "%s\n" "$as_me: WARNING: ancient id detected; assuming current UID is ok, but dist-ustar might not work" >&2;} + elif test $am_uid -le $am_max_uid; then + { 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; } + _am_tools=none + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5 +printf %s "checking whether GID '$am_gid' is supported by ustar format... " >&6; } + if test x$gm_gid = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ancient id detected; assuming current GID is ok, but dist-ustar might not work" >&5 +printf "%s\n" "$as_me: WARNING: ancient id detected; assuming current GID is ok, but dist-ustar might not work" >&2;} + elif test $am_gid -le $am_max_gid; then + { 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; } + _am_tools=none + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 +printf %s "checking how to create a ustar tar archive... " >&6; } + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_ustar-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + { echo "$as_me:$LINENO: $_am_tar --version" >&5 + ($_am_tar --version) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && break + done + am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x ustar -w "$$tardir"' + am__tar_='pax -L -x ustar -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H ustar -L' + am__tar_='find "$tardir" -print | cpio -o -H ustar -L' + am__untar='cpio -i -H ustar -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_ustar}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 + (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + rm -rf conftest.dir + if test -s conftest.tar; then + { echo "$as_me:$LINENO: $am__untar &5 + ($am__untar &5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + { echo "$as_me:$LINENO: cat conftest.dir/file" >&5 + (cat conftest.dir/file) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + if test ${am_cv_prog_tar_ustar+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) am_cv_prog_tar_ustar=$_am_tool ;; +esac +fi -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 +printf "%s\n" "$am_cv_prog_tar_ustar" >&6; } @@ -5180,7 +5308,10 @@ _ACEOF break fi done - rm -f core conftest* + # aligned with autoconf, so not including core; see bug#72225. + rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \ + conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \ + conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM unset am_i ;; esac fi diff --git a/depcomp b/depcomp index 1f0aa972c..1e2c35fad 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2024-06-19.01; # UTC +scriptversion=2024-12-03.03; # UTC -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # 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 @@ -784,7 +784,7 @@ exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/install-sh b/install-sh index b1d7a6f67..8a76989bb 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2024-06-19.01; # UTC +scriptversion=2024-12-03.03; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -533,7 +533,7 @@ do done # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/missing b/missing index 7e7d78ec5..3e318cf98 100755 --- a/missing +++ b/missing @@ -1,11 +1,11 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2024-06-07.14; # UTC +scriptversion=2024-12-03.03; # UTC # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -228,7 +228,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \ exit $st # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/mkinstalldirs b/mkinstalldirs index e536369cc..02e046b9b 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2024-06-19.01; # UTC +scriptversion=2024-12-03.03; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -156,7 +156,7 @@ exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/py-compile b/py-compile index c9d4fde94..0cfddedb6 100755 --- a/py-compile +++ b/py-compile @@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2024-06-19.01; # UTC +scriptversion=2024-12-03.03; # UTC -# Copyright (C) 2000-2024 Free Software Foundation, Inc. +# Copyright (C) 2000-2025 Free Software Foundation, Inc. # 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 @@ -33,6 +33,23 @@ fi me=py-compile +# People apparently set PYTHON=: and expect the result to be true. +# For the same reason, we output to stdout instead of stderr. Bizarre. +if $PYTHON -V 2>/dev/null | grep -i python >/dev/null; then :; else + echo "$me: Invalid python executable (according to -V): $PYTHON" + echo "$me: Python support disabled" + if test x"$PYTHON" = xfalse; then + # But, as a special case, make PYTHON=false exit unsuccessfully, + # since that was the traditional behavior. + exit 1 + # In the past, setting PYTHON to any command that exited unsuccessfully + # caused py-compile to exit unsuccessfully. Let's not try to + # replicate that unless and until needed. + else + exit 0 + fi +fi + usage_error () { echo "$me: $*" >&2 @@ -64,7 +81,7 @@ while test $# -ne 0; do cat <<\EOF Usage: py-compile [options] FILES... -Byte compile some python scripts FILES. Use --destdir to specify any +Byte compile FILES as Python scripts. Use --destdir to specify a leading directory path to the FILES that you don't want to include in the byte compiled file. Specify --basedir for any additional path information you do want to be shown in the byte compiled file. @@ -78,6 +95,14 @@ Options: Example: py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py +The Python interpreter to use is taken from the environment variable +PYTHON, or "python" by default. + +For compatibility: as a special case, if PYTHON=false (that is, the +command named "false"), this script will exit unsuccessfully. Otherwise, +if $PYTHON -V does not include the string "Python", this script will +emit a message to standard output and exit successfully. + Report bugs to . GNU Automake home page: . General help using GNU software: . @@ -236,7 +261,7 @@ esac # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index 727188b8b..fa0fc2122 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,6 +1,6 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.17 +export AUTOMAKE_SUFFIX=-1.18 export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.5.3 From 6182cd5ebd97048fa24fcde0ae420945e80dbaf8 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 20:55:19 +0200 Subject: [PATCH 337/353] Tweak Qt5 CMakeLists.txt. --- qt5debugappender/CMakeLists.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt index cc9e5c58d..ba2ccd7b0 100644 --- a/qt5debugappender/CMakeLists.txt +++ b/qt5debugappender/CMakeLists.txt @@ -1,8 +1,7 @@ set (qt5debugappender_sources qt5debugappender.cxx) -find_package (Qt5Core REQUIRED) -#include (${QT_USE_FILE}) +find_package(Qt5 COMPONENTS Core REQUIRED) set (qt5debugappender log4cplusqt5debugappender${log4cplus_postfix}) add_library (${qt5debugappender} ${qt5debugappender_sources}) @@ -16,9 +15,11 @@ if (${BUILD_SHARED_LIBS}) target_compile_definitions (${qt5debugappender} PRIVATE ${log4cplus}_EXPORTS) endif () target_link_libraries (${qt5debugappender} - ${log4cplus} - ${Qt5Widgets_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT}) + PUBLIC ${log4cplus} + PRIVATE Qt5::Core + PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +target_include_directories (${qt5debugappender} PUBLIC ${Qt5Widgets_INCLUDES}) +target_compile_definitions (${qt5debugappender} PUBLIC ${Qt5Widgets_DEFINITIONS}) if (ANDROID) # Android does not seem to have SO version support. @@ -37,8 +38,6 @@ if (APPLE) MACHO_COMPATIBILITY_VERSION "${log4cplus_macho_compatibility_version}") endif () -qt5_use_modules(${qt5debugappender} Core) - if (WIN32) set_target_properties (${qt5debugappender} PROPERTIES DEBUG_POSTFIX "D") From a6f97827605058845e7b878785b3ad53fb85f66d Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 21:07:32 +0200 Subject: [PATCH 338/353] Map INFO level to QMessageLogger::info. --- qt6debugappender/qt6debugappender.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qt6debugappender/qt6debugappender.cxx b/qt6debugappender/qt6debugappender.cxx index 8ca4b29b5..61d5c6fc6 100644 --- a/qt6debugappender/qt6debugappender.cxx +++ b/qt6debugappender/qt6debugappender.cxx @@ -87,6 +87,8 @@ Qt6DebugAppender::append (spi::InternalLoggingEvent const & ev) log_func = &QMessageLogger::critical; else if (ll >= WARN_LOG_LEVEL) log_func = &QMessageLogger::warning; + else if (ll >= INFO_LOG_LEVEL) + log_func = &QMessageLogger::info; else log_func = &QMessageLogger::debug; From c2e0ebfde08e3036526e82e468f1bec24c6af5dd Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 21:22:35 +0200 Subject: [PATCH 339/353] Qt6 support. Autotools bits. --- Makefile.in | 141 +++++++++++++++++++++++++++++--------------- configure | 136 ++++++++++++++++++++++++++++++++++++++++++ configure.ac | 14 +++++ include/Makefile.in | 4 +- 4 files changed, 248 insertions(+), 47 deletions(-) diff --git a/Makefile.in b/Makefile.in index e6e07047b..8985f1dc4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.17.92 from Makefile.am. +# Makefile.in generated by automake 1.18 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2025 Free Software Foundation, Inc. @@ -117,44 +117,46 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_7 = liblog4cplusqt4debugappenderU.la @QT5_TRUE@am__append_8 = liblog4cplusqt5debugappender.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_9 = liblog4cplusqt5debugappenderU.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_10 = $(PYTHON_WRAPU_CXX) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_11 = log4cplusU.py -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_12 = _log4cplusU.la -@ENABLE_TESTS_TRUE@am__append_13 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in -@ENABLE_TESTS_TRUE@am__append_14 = appender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_15 = appender_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_16 = configandwatch_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_17 = configandwatch_testU -@ENABLE_TESTS_TRUE@am__append_18 = customloglevel_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_19 = customloglevel_testU -@ENABLE_TESTS_TRUE@am__append_20 = fileappender_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_21 = fileappender_testU -@ENABLE_TESTS_TRUE@am__append_22 = filter_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_23 = filter_testU -@ENABLE_TESTS_TRUE@am__append_24 = hierarchy_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_25 = hierarchy_testU -@ENABLE_TESTS_TRUE@am__append_26 = loglog_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_27 = loglog_testU -@ENABLE_TESTS_TRUE@am__append_28 = ndc_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_29 = ndc_testU -@ENABLE_TESTS_TRUE@am__append_30 = ostream_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_31 = ostream_testU -@ENABLE_TESTS_TRUE@am__append_32 = patternlayout_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_33 = patternlayout_testU -@ENABLE_TESTS_TRUE@am__append_34 = performance_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_35 = performance_testU -@ENABLE_TESTS_TRUE@am__append_36 = priority_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_37 = priority_testU -@ENABLE_TESTS_TRUE@am__append_38 = propertyconfig_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = propertyconfig_testU -@ENABLE_TESTS_TRUE@am__append_40 = socket_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_41 = socket_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_42 = thread_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_43 = thread_testU -@ENABLE_TESTS_TRUE@am__append_44 = timeformat_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = timeformat_testU -@ENABLE_TESTS_TRUE@am__append_46 = unit_tests -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_47 = unit_testsU +@QT6_TRUE@am__append_10 = liblog4cplusqt5debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am__append_11 = liblog4cplusqt5debugappenderU.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_12 = $(PYTHON_WRAPU_CXX) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_13 = log4cplusU.py +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_14 = _log4cplusU.la +@ENABLE_TESTS_TRUE@am__append_15 = tests/testsuite.at $(TESTSUITE) tests/atlocal.in +@ENABLE_TESTS_TRUE@am__append_16 = appender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_17 = appender_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_18 = configandwatch_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_19 = configandwatch_testU +@ENABLE_TESTS_TRUE@am__append_20 = customloglevel_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_21 = customloglevel_testU +@ENABLE_TESTS_TRUE@am__append_22 = fileappender_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_23 = fileappender_testU +@ENABLE_TESTS_TRUE@am__append_24 = filter_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_25 = filter_testU +@ENABLE_TESTS_TRUE@am__append_26 = hierarchy_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_27 = hierarchy_testU +@ENABLE_TESTS_TRUE@am__append_28 = loglog_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_29 = loglog_testU +@ENABLE_TESTS_TRUE@am__append_30 = ndc_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_31 = ndc_testU +@ENABLE_TESTS_TRUE@am__append_32 = ostream_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_33 = ostream_testU +@ENABLE_TESTS_TRUE@am__append_34 = patternlayout_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_35 = patternlayout_testU +@ENABLE_TESTS_TRUE@am__append_36 = performance_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_37 = performance_testU +@ENABLE_TESTS_TRUE@am__append_38 = priority_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = priority_testU +@ENABLE_TESTS_TRUE@am__append_40 = propertyconfig_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_41 = propertyconfig_testU +@ENABLE_TESTS_TRUE@am__append_42 = socket_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_43 = socket_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_44 = thread_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_45 = thread_testU +@ENABLE_TESTS_TRUE@am__append_46 = timeformat_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_47 = timeformat_testU +@ENABLE_TESTS_TRUE@am__append_48 = unit_tests +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_49 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -445,9 +447,14 @@ liblog4cplusqt4debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt4debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am_liblog4cplusqt4debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@ -rpath $(libdir) +@QT5_FALSE@@QT6_TRUE@liblog4cplusqt5debugappender_la_DEPENDENCIES = \ +@QT5_FALSE@@QT6_TRUE@ $(liblog4cplus_la_file) @QT5_TRUE@liblog4cplusqt5debugappender_la_DEPENDENCIES = \ @QT5_TRUE@ $(liblog4cplus_la_file) +@QT5_FALSE@@QT6_TRUE@am__objects_12 = qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo @QT5_TRUE@am__objects_12 = qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo +@QT5_FALSE@@QT6_TRUE@am_liblog4cplusqt5debugappender_la_OBJECTS = \ +@QT5_FALSE@@QT6_TRUE@ $(am__objects_12) @QT5_TRUE@am_liblog4cplusqt5debugappender_la_OBJECTS = \ @QT5_TRUE@ $(am__objects_12) liblog4cplusqt5debugappender_la_OBJECTS = \ @@ -457,8 +464,12 @@ liblog4cplusqt5debugappender_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(liblog4cplusqt5debugappender_la_LDFLAGS) $(LDFLAGS) -o $@ @QT5_TRUE@am_liblog4cplusqt5debugappender_la_rpath = -rpath $(libdir) +@QT6_TRUE@am_liblog4cplusqt5debugappender_la_rpath = -rpath $(libdir) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_FALSE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_DEPENDENCIES = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_DEPENDENCIES = $(liblog4cplusU_la_file) +@QT5_FALSE@@QT6_TRUE@am__objects_13 = qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo @QT5_TRUE@am__objects_13 = qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_FALSE@@QT6_TRUE@am_liblog4cplusqt5debugappenderU_la_OBJECTS = $(am__objects_13) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am_liblog4cplusqt5debugappenderU_la_OBJECTS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(am__objects_13) liblog4cplusqt5debugappenderU_la_OBJECTS = \ @@ -469,6 +480,8 @@ liblog4cplusqt5debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt5debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am_liblog4cplusqt5debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ -rpath $(libdir) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am_liblog4cplusqt5debugappenderU_la_rpath = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ -rpath $(libdir) @ENABLE_TESTS_TRUE@am__objects_14 = \ @ENABLE_TESTS_TRUE@ tests/appender_test/main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_appender_test_OBJECTS = $(am__objects_14) @@ -1145,6 +1158,8 @@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ QT5_CFLAGS = @QT5_CFLAGS@ QT5_LIBS = @QT5_LIBS@ +QT6_CFLAGS = @QT6_CFLAGS@ +QT6_LIBS = @QT6_LIBS@ QT_CFLAGS = @QT_CFLAGS@ QT_LIBS = @QT_LIBS@ RANLIB = @RANLIB@ @@ -1231,7 +1246,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ AM_CXXFLAGS = @LOG4CPLUS_PROFILING_CXXFLAGS@ @LOG4CPLUS_LTO_CXXFLAGS@ AM_LDFLAGS = @LOG4CPLUS_PROFILING_LDFLAGS@ @LOG4CPLUS_LTO_LDFLAGS@ ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_13) +EXTRA_DIST = ChangeLog log4cplus.pc.in $(am__append_15) SUBDIRS = include pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = log4cplus.pc @@ -1244,7 +1259,8 @@ INCLUDES_SRC_PATH = $(top_srcdir)/include/log4cplus liblog4cplus_la_file = $(top_builddir)/liblog4cplus.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@liblog4cplusU_la_file = $(top_builddir)/liblog4cplusU.la lib_LTLIBRARIES = liblog4cplus.la $(am__append_3) $(am__append_6) \ - $(am__append_7) $(am__append_8) $(am__append_9) + $(am__append_7) $(am__append_8) $(am__append_9) \ + $(am__append_10) $(am__append_11) LIB_SRC = src/appenderattachableimpl.cxx src/appender.cxx \ src/asyncappender.cxx src/callbackappender.cxx src/clogger.cxx \ src/configurator.cxx src/connectorthread.cxx \ @@ -1326,34 +1342,67 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @QT5_TRUE@ -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ @QT5_TRUE@ @QT5_CFLAGS@ +@QT6_TRUE@liblog4cplusqt5debugappender_la_cppflags = \ +@QT6_TRUE@ $(AM_CPPFLAGS) \ +@QT6_TRUE@ -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ +@QT6_TRUE@ @QT5_CFLAGS@ + @QT5_TRUE@liblog4cplusqt5debugappender_la_CPPFLAGS = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) +@QT6_TRUE@liblog4cplusqt5debugappender_la_CPPFLAGS = \ +@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) + @QT5_TRUE@liblog4cplusqt5debugappender_la_sources = \ @QT5_TRUE@ $(INCLUDES_SRC_PATH)/qt5debugappender.h \ @QT5_TRUE@ qt5debugappender/qt5debugappender.cxx +@QT6_TRUE@liblog4cplusqt5debugappender_la_sources = \ +@QT6_TRUE@ $(INCLUDES_SRC_PATH)/qt5debugappender.h \ +@QT6_TRUE@ qt5debugappender/qt5debugappender.cxx + @QT5_TRUE@liblog4cplusqt5debugappender_la_SOURCES = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_sources) +@QT6_TRUE@liblog4cplusqt5debugappender_la_SOURCES = \ +@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_sources) + @QT5_TRUE@liblog4cplusqt5debugappender_la_LIBADD = $(liblog4cplus_la_file) +@QT6_TRUE@liblog4cplusqt5debugappender_la_LIBADD = $(liblog4cplus_la_file) @QT5_TRUE@liblog4cplusqt5debugappender_la_ldflags = -no-undefined \ @QT5_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ @QT5_TRUE@ @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ +@QT6_TRUE@liblog4cplusqt5debugappender_la_ldflags = -no-undefined \ +@QT6_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ +@QT6_TRUE@ @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ + @QT5_TRUE@liblog4cplusqt5debugappender_la_LDFLAGS = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) +@QT6_TRUE@liblog4cplusqt5debugappender_la_LDFLAGS = \ +@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) + @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_CPPFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_CPPFLAGS = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 + @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_SOURCES = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_SOURCES = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_sources) + @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_LDFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_LDFLAGS = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) + @WITH_SWIG_TRUE@SWIG_SOURCES = \ @WITH_SWIG_TRUE@ swig/configurator.swg \ @WITH_SWIG_TRUE@ swig/hierarchy.swg \ @@ -1362,10 +1411,10 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @WITH_SWIG_TRUE@ swig/loggingevent.swg @WITH_PYTHON_TRUE@PYTHON_WRAP_CXX = python_wrap.cxx -@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_10) -@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_11) +@WITH_PYTHON_TRUE@BUILT_SOURCES = $(PYTHON_WRAP_CXX) $(am__append_12) +@WITH_PYTHON_TRUE@pkgpython_PYTHON = log4cplus.py $(am__append_13) @WITH_PYTHON_TRUE@pkgpyexec_LTLIBRARIES = _log4cplus.la \ -@WITH_PYTHON_TRUE@ $(am__append_12) +@WITH_PYTHON_TRUE@ $(am__append_14) @WITH_PYTHON_TRUE@_log4cplus_la_SOURCES = $(PYTHON_WRAP_CXX) $(SWIG_SOURCES) @WITH_PYTHON_TRUE@_log4cplus_la_CPPFLAGS = $(AM_CPPFLAGS) $(SWIG_PYTHON_CPPFLAGS) \ @WITH_PYTHON_TRUE@ $(PYTHON_CPPFLAGS) -DSWIG_TYPE_TABLE=log4cplus \ @@ -1589,7 +1638,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .cpp .cxx .lo .o .obj am--refresh: Makefile @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -1611,7 +1660,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; -$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): +$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck diff --git a/configure b/configure index d62d23ce2..8b344561b 100755 --- a/configure +++ b/configure @@ -701,6 +701,10 @@ WITH_SWIG_TRUE SWIG_LIB SWIG_FLAGS SWIG +QT6_FALSE +QT6_TRUE +QT6_LIBS +QT6_CFLAGS QT5_FALSE QT5_TRUE QT5_LIBS @@ -876,6 +880,7 @@ enable_profiling enable_threads with_qt with_qt5 +with_qt6 with_python with_python_sys_prefix with_python_prefix @@ -911,6 +916,8 @@ QT_CFLAGS QT_LIBS QT5_CFLAGS QT5_LIBS +QT6_CFLAGS +QT6_LIBS SWIG_FLAGS PYTHON PYTHON_VERSION @@ -1598,6 +1605,7 @@ Optional Packages: have 'U' suffix. [default=yes] --with-qt Build liblog4cplusqt4debugappender. --with-qt5 Build liblog4cplusqt5debugappender. + --with-qt6 Build liblog4cplusqt6debugappender. --with-python Build Python/SWIG bindings. --with-python-sys-prefix use Python's sys.prefix and sys.exec_prefix values @@ -1628,6 +1636,8 @@ Some influential environment variables: QT_LIBS linker flags for QT, overriding pkg-config QT5_CFLAGS C compiler flags for QT5, overriding pkg-config QT5_LIBS linker flags for QT5, overriding pkg-config + QT6_CFLAGS C compiler flags for QT6, overriding pkg-config + QT6_LIBS linker flags for QT6, overriding pkg-config SWIG_FLAGS SWIG flags PYTHON the Python interpreter PYTHON_VERSION @@ -16366,6 +16376,128 @@ fi + +# Check whether --with-qt6 was given. +if test ${with_qt6+y} +then : + withval=$with_qt6; + log4cplus_check_yesno_func "${withval}" "--with-qt6" +else case e in #( + e) with_qt6=no ;; +esac +fi + + +if test "x$with_qt6" = "xyes" +then : + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for QT6" >&5 +printf %s "checking for QT6... " >&6; } + +if test -n "$QT6_CFLAGS"; then + pkg_cv_QT6_CFLAGS="$QT6_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt6Core >= 6.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "Qt6Core >= 6.0.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_QT6_CFLAGS=`$PKG_CONFIG --cflags "Qt6Core >= 6.0.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$QT6_LIBS"; then + pkg_cv_QT6_LIBS="$QT6_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt6Core >= 6.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "Qt6Core >= 6.0.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_QT6_LIBS=`$PKG_CONFIG --libs "Qt6Core >= 6.0.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + QT6_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "Qt6Core >= 6.0.0" 2>&1` + else + QT6_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "Qt6Core >= 6.0.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$QT6_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (Qt6Core >= 6.0.0) were not met: + +$QT6_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables QT6_CFLAGS +and QT6_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables QT6_CFLAGS +and QT6_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See 'config.log' for more details" "$LINENO" 5; } +else + QT6_CFLAGS=$pkg_cv_QT6_CFLAGS + QT6_LIBS=$pkg_cv_QT6_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +fi +else case e in #( + e) QT6_CFLAGS= + QT6_LIBS= ;; +esac +fi + if test "x$with_qt6" = "xyes"; then + QT6_TRUE= + QT6_FALSE='#' +else + QT6_TRUE='#' + QT6_FALSE= +fi + + + + + with_swig=no @@ -29355,6 +29487,10 @@ if test -z "${QT5_TRUE}" && test -z "${QT5_FALSE}"; then as_fn_error $? "conditional \"QT5\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${QT6_TRUE}" && test -z "${QT6_FALSE}"; then + as_fn_error $? "conditional \"QT6\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${WITH_SWIG_TRUE}" && test -z "${WITH_SWIG_FALSE}"; then as_fn_error $? "conditional \"WITH_SWIG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index 3b6d52f75..a0c2bddd9 100644 --- a/configure.ac +++ b/configure.ac @@ -683,6 +683,20 @@ AM_CONDITIONAL([QT5], [test "x$with_qt5" = "xyes"]) AC_SUBST([QT5_CFLAGS]) AC_SUBST([QT5_LIBS]) +dnl Qt6 setup using pkg-config. + +LOG4CPLUS_ARG_WITH([qt6], + [Build liblog4cplusqt6debugappender.], + [with_qt6=no]) + +AS_IF([test "x$with_qt6" = "xyes"], + [PKG_CHECK_MODULES([QT6], [Qt6Core >= 6.0.0])], + [QT6_CFLAGS= + QT6_LIBS=]) +AM_CONDITIONAL([QT6], [test "x$with_qt6" = "xyes"]) +AC_SUBST([QT6_CFLAGS]) +AC_SUBST([QT6_LIBS]) + dnl SWIG generated bindings related configure machinery is here. AS_VAR_SET([with_swig], [no]) diff --git a/include/Makefile.in b/include/Makefile.in index fc2c2942a..55cddbbb8 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.17.92 from Makefile.am. +# Makefile.in generated by automake 1.18 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2025 Free Software Foundation, Inc. @@ -287,6 +287,8 @@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ QT5_CFLAGS = @QT5_CFLAGS@ QT5_LIBS = @QT5_LIBS@ +QT6_CFLAGS = @QT6_CFLAGS@ +QT6_LIBS = @QT6_LIBS@ QT_CFLAGS = @QT_CFLAGS@ QT_LIBS = @QT_LIBS@ RANLIB = @RANLIB@ From 30b8eb9f3e7e26ea57aa80d7930f53f08fa347df Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Mon, 23 Jun 2025 21:35:42 +0200 Subject: [PATCH 340/353] Map INFO level to QMessageLogger::info. [2] --- qt5debugappender/qt5debugappender.cxx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/qt5debugappender/qt5debugappender.cxx b/qt5debugappender/qt5debugappender.cxx index e7d5dd342..304f6c202 100644 --- a/qt5debugappender/qt5debugappender.cxx +++ b/qt5debugappender/qt5debugappender.cxx @@ -5,17 +5,17 @@ // // // Copyright (C) 2013-2017, Vaclav Zeman. All rights reserved. -// +// // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. -// +// // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -69,7 +69,7 @@ void Qt5DebugAppender::append (spi::InternalLoggingEvent const & ev) { // TODO: Expose log4cplus' internal TLS to use here. - tostringstream oss; + tostringstream oss; layout->formatAndAppend(oss, ev); LogLevel const ll = ev.getLogLevel (); @@ -87,9 +87,11 @@ Qt5DebugAppender::append (spi::InternalLoggingEvent const & ev) log_func = &QMessageLogger::critical; else if (ll >= WARN_LOG_LEVEL) log_func = &QMessageLogger::warning; + else if (ll >= INFO_LOG_LEVEL) + log_func = &QMessageLogger::info; else log_func = &QMessageLogger::debug; - + (qlogger.*log_func) ("%s", LOG4CPLUS_TSTRING_TO_STRING (oss.str ()).c_str ()); } @@ -114,12 +116,12 @@ BOOL WINAPI DllMain(LOG4CPLUS_DLLMAIN_HINSTANCE, // handle to DLL module LPVOID) // reserved { // Perform actions based on the reason for calling. - switch( fdwReason ) - { + switch( fdwReason ) + { case DLL_PROCESS_ATTACH: { - // We cannot do this here because it causes the thread to deadlock - // when compiled with Visual Studio due to use of C++11 threading + // We cannot do this here because it causes the thread to deadlock + // when compiled with Visual Studio due to use of C++11 threading // facilities. //log4cplus::Qt5DebugAppender::registerAppender (); From c347b306bae0f2ad8aca02f253dc300a5d65a16b Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 26 Jun 2025 22:01:49 +0200 Subject: [PATCH 341/353] Add QtMessageHandler implementation that logs using log4cplus. --- include/log4cplus/qt6messagehandler.h | 100 ++++++++++++++++++++++++++ qt6debugappender/CMakeLists.txt | 4 +- qt6debugappender/qt6debugappender.cxx | 73 +++++++++++++++++++ 3 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 include/log4cplus/qt6messagehandler.h diff --git a/include/log4cplus/qt6messagehandler.h b/include/log4cplus/qt6messagehandler.h new file mode 100644 index 000000000..ac2b62240 --- /dev/null +++ b/include/log4cplus/qt6messagehandler.h @@ -0,0 +1,100 @@ +// -*- C++ -*- +// Module: Log4cplus +// File: qt6debugappender.h +// Created: 6/2025 +// Author: Vaclav Haisman +// +// +// Copyright (C) 2025, Vaclav Haisman. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modifica- +// tion, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- +// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// + +/** @file */ + +#ifndef LOG4CPLUS_QT6MESSAGEHANDLER_H +#define LOG4CPLUS_QT6MESSAGEHANDLER_H + +#include + +#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) +#pragma once +#endif + +#include +#include + +#if defined (_WIN32) + #if defined (log4cplusqt6debugappender_EXPORTS) \ + || defined (log4cplusqt6debugappenderU_EXPORTS) \ + || (defined (DLL_EXPORT) && defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER)) + #undef LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL + #define LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL + #endif + #if defined (LOG4CPLUS_QT6DEBUGAPPENDER_BUILD_DLL) + #if defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT __declspec(dllexport) + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT __declspec(dllimport) + #endif + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT + #endif +#else + #if defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT LOG4CPLUS_DECLSPEC_EXPORT + #else + #define LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT LOG4CPLUS_DECLSPEC_IMPORT + #endif // defined (INSIDE_LOG4CPLUS_QT6DEBUGAPPENDER) +#endif // !_WIN32 + + +namespace log4cplus +{ + +/** + * qt6_message_handler is a global message handler for Qt6 that logs messages + * using log4cplus. + * + * @note This handler is intended to be used with Qt6 applications. + * @note This is a funtion declaration, not a class. + * + * Example usage: + * + * #include + * #include + * #include + * + * int main (int argc, char *argv[]) { + * log4cplus::Initializer initializer; + * auto originalHandler = qInstallMessageHandler (qt6_message_handler); + * QApplication app (argc, argv); + * } + */ +LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT QtMessageHandler qt6_message_handler; + +} // namespace log4cplus + + +#endif // LOG4CPLUS_QT6MESSAGEHANDLER_H diff --git a/qt6debugappender/CMakeLists.txt b/qt6debugappender/CMakeLists.txt index 369dbda54..6f80a0808 100644 --- a/qt6debugappender/CMakeLists.txt +++ b/qt6debugappender/CMakeLists.txt @@ -49,5 +49,7 @@ install (TARGETS ${qt6debugappender} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -install (FILES ../include/log4cplus/qt6debugappender.h +install (FILES + ../include/log4cplus/qt6debugappender.h + ../include/log4cplus/qt6messagehandler.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/log4cplus) diff --git a/qt6debugappender/qt6debugappender.cxx b/qt6debugappender/qt6debugappender.cxx index 61d5c6fc6..c1936be3b 100644 --- a/qt6debugappender/qt6debugappender.cxx +++ b/qt6debugappender/qt6debugappender.cxx @@ -33,9 +33,11 @@ #include #include #include +#include #include #include #include +#include #include @@ -106,6 +108,77 @@ Qt6DebugAppender::registerAppender () } +// +// qt6_message_handler definition +// + +namespace +{ + +/// @brief Convert Qt message type to log4cplus LogLevel. +static inline +LogLevel +qt_log_level_to_log4cplus (QtMsgType const type) +{ + switch (type) { + case QtDebugMsg: + return DEBUG_LOG_LEVEL; + case QtInfoMsg: + return INFO_LOG_LEVEL; + case QtWarningMsg: + return WARN_LOG_LEVEL; + case QtCriticalMsg: + return ERROR_LOG_LEVEL; + case QtFatalMsg: + return FATAL_LOG_LEVEL; + default: + return NOT_SET_LOG_LEVEL; // Should not happen. + } + +} + +/// @brief String conversion utility for Qt strings to log4cplus tstring. +template +static inline +std::basic_string +qt_string_to_tstring (QString const & str) +{ + if constexpr (std::is_same_v) { + // If tchar is char, we can use QString's toStdString directly. + return str.toStdString (); + } else if constexpr (std::is_same_v) { + // If tchar is wchar_t, we need to convert QString to std::wstring. + return str.toStdWString (); + } else { + static_assert(false, + "Unsupported tchar type. Only char and wchar_t are supported."); + } +} + +} // anonymous namespace + + +void +qt6_message_handler (QtMsgType const type, QMessageLogContext const & qt_log_context, QString const & message) +{ + // Convert the Qt message to a log4cplus logging event. + spi::InternalLoggingEvent ev { + LOG4CPLUS_TEXT ("QtCore"), + qt_log_level_to_log4cplus (type), + qt_string_to_tstring (message), + qt_log_context.file ? qt_log_context.file : "", + qt_log_context.line, + qt_log_context.function + }; + + Logger::getInstance(LOG4CPLUS_TEXT("QtCore")) + .log (ev); +} + +static_assert (std::is_same_v, + "qt6_message_handler must have the same signature as QtMessageHandler."); + + } // namespace log4cplus From c518ea09b37ce80f213d36b3fd54cd31cc7e8731 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 26 Jun 2025 22:11:01 +0200 Subject: [PATCH 342/353] c-cpp.yml: Try to enable Qt6 in Ubuntu builds --- .github/workflows/c-cpp.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index f1525f9cf..42f111686 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -16,7 +16,8 @@ jobs: cc: 'gcc-14' cxx: 'g++-14' prereq: | - sudo apt install libboost-iostreams-dev + sudo apt install libboost-iostreams-dev qt6-base-dev pkgconf + configure_flags: '--with-qt6' # Enable macOS build by installing Boost via Homebrew - os: 'macos-15' @@ -27,6 +28,7 @@ jobs: #brew update brew install boost sudo xcode-select -s '/Applications/Xcode_16.4.app/Contents/Developer' + configure_flags: '' - os: 'macos-15' cc: '$(brew --prefix llvm@18)/bin/clang' @@ -35,6 +37,7 @@ jobs: prereq: | brew install boost sudo xcode-select -s '/Applications/Xcode_16.4.app/Contents/Developer' + configure_flags: '' runs-on: ${{ matrix.config.os }} @@ -51,7 +54,11 @@ jobs: ./scripts/fix-timestamps.sh mkdir objdir cd objdir - ../configure CPPFLAGS="${{ matrix.config.cppflags }}" CC="${{ matrix.config.cc }}" CXX="${{ matrix.config.cxx }}" --enable-shared --enable-unit-tests --with-working-locale + ../configure CPPFLAGS="${{ matrix.config.cppflags }}" \ + CC="${{ matrix.config.cc }}" \ + CXX="${{ matrix.config.cxx }}" \ + ${{ matrix.config.configure_flags }} \ + --enable-shared --enable-unit-tests --with-working-locale ./config.status --config - name: make run: cd objdir ; make From 8ec872b27cb3fc54a5a0065ea435272263ba036f Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 26 Jun 2025 22:20:41 +0200 Subject: [PATCH 343/353] qt6debugappender/Makefile.am: Fix copy-paste issue: 5 -> 6. --- include/Makefile.am | 1 + include/Makefile.in | 1 + qt6debugappender/Makefile.am | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/Makefile.am b/include/Makefile.am index 8e539c824..4b400f10f 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -58,6 +58,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/qt4debugappender.h \ log4cplus/qt5debugappender.h \ log4cplus/qt6debugappender.h \ + log4cplus/qt6messagehandler.h \ log4cplus/socketappender.h \ log4cplus/spi/appenderattachable.h \ log4cplus/spi/factory.h \ diff --git a/include/Makefile.in b/include/Makefile.in index 55cddbbb8..cc7db2dc5 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -423,6 +423,7 @@ nobase_log4cplusinc_HEADERS = \ log4cplus/qt4debugappender.h \ log4cplus/qt5debugappender.h \ log4cplus/qt6debugappender.h \ + log4cplus/qt6messagehandler.h \ log4cplus/socketappender.h \ log4cplus/spi/appenderattachable.h \ log4cplus/spi/factory.h \ diff --git a/qt6debugappender/Makefile.am b/qt6debugappender/Makefile.am index 2f516bfb8..9f2bf813b 100644 --- a/qt6debugappender/Makefile.am +++ b/qt6debugappender/Makefile.am @@ -2,8 +2,8 @@ lib_LTLIBRARIES += liblog4cplusqt6debugappender.la liblog4cplusqt6debugappender_la_cppflags = \ $(AM_CPPFLAGS) \ - -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ - @QT5_CFLAGS@ + -DINSIDE_LOG4CPLUS_QT6DEBUGAPPENDER \ + @QT6_CFLAGS@ liblog4cplusqt6debugappender_la_CPPFLAGS = \ $(liblog4cplusqt6debugappender_la_cppflags) @@ -17,7 +17,7 @@ liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) liblog4cplusqt6debugappender_la_ldflags = -no-undefined \ $(LOG4CPLUS_VERSION_LT_FLAGS) \ - @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ + @QT6_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ liblog4cplusqt6debugappender_la_LDFLAGS = \ $(liblog4cplusqt6debugappender_la_ldflags) From 9784aa45621a80042814d735269dde11b25bd3f1 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 26 Jun 2025 22:32:11 +0200 Subject: [PATCH 344/353] =?UTF-8?q?Makefile.apm.def:=20Fix=20copy-paste=20?= =?UTF-8?q?issue:=205=E2=86=926.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile.am | 2 +- Makefile.am.def | 2 +- Makefile.in | 296 +++++++++++++++++++++++++++++------------------- 3 files changed, 180 insertions(+), 120 deletions(-) diff --git a/Makefile.am b/Makefile.am index 2c97ac4ae..90cb580c6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -52,7 +52,7 @@ include %D%/qt5debugappender/Makefile.am endif if QT6 -include %D%/qt5debugappender/Makefile.am +include %D%/qt6debugappender/Makefile.am endif include %D%/swig/Makefile.common.am diff --git a/Makefile.am.def b/Makefile.am.def index 5ac13ec07..1f0971184 100644 --- a/Makefile.am.def +++ b/Makefile.am.def @@ -4,6 +4,6 @@ src-dirs = { name = src; }; src-dirs = { name = simpleserver; }; src-dirs = { name = qt4debugappender; conditional = QT; }; src-dirs = { name = qt5debugappender; conditional = QT5; }; -src-dirs = { name = qt5debugappender; conditional = QT6; }; +src-dirs = { name = qt6debugappender; conditional = QT6; }; src-dirs = { name = swig; }; src-dirs = { name = tests; conditional = ENABLE_TESTS; }; diff --git a/Makefile.in b/Makefile.in index 8985f1dc4..962906904 100644 --- a/Makefile.in +++ b/Makefile.in @@ -117,8 +117,8 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am__append_7 = liblog4cplusqt4debugappenderU.la @QT5_TRUE@am__append_8 = liblog4cplusqt5debugappender.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am__append_9 = liblog4cplusqt5debugappenderU.la -@QT6_TRUE@am__append_10 = liblog4cplusqt5debugappender.la -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am__append_11 = liblog4cplusqt5debugappenderU.la +@QT6_TRUE@am__append_10 = liblog4cplusqt6debugappender.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am__append_11 = liblog4cplusqt6debugappenderU.la @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_12 = $(PYTHON_WRAPU_CXX) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_13 = log4cplusU.py @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@WITH_PYTHON_TRUE@am__append_14 = _log4cplusU.la @@ -447,14 +447,9 @@ liblog4cplusqt4debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt4debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@am_liblog4cplusqt4debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT_TRUE@ -rpath $(libdir) -@QT5_FALSE@@QT6_TRUE@liblog4cplusqt5debugappender_la_DEPENDENCIES = \ -@QT5_FALSE@@QT6_TRUE@ $(liblog4cplus_la_file) @QT5_TRUE@liblog4cplusqt5debugappender_la_DEPENDENCIES = \ @QT5_TRUE@ $(liblog4cplus_la_file) -@QT5_FALSE@@QT6_TRUE@am__objects_12 = qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo @QT5_TRUE@am__objects_12 = qt5debugappender/liblog4cplusqt5debugappender_la-qt5debugappender.lo -@QT5_FALSE@@QT6_TRUE@am_liblog4cplusqt5debugappender_la_OBJECTS = \ -@QT5_FALSE@@QT6_TRUE@ $(am__objects_12) @QT5_TRUE@am_liblog4cplusqt5debugappender_la_OBJECTS = \ @QT5_TRUE@ $(am__objects_12) liblog4cplusqt5debugappender_la_OBJECTS = \ @@ -464,12 +459,8 @@ liblog4cplusqt5debugappender_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(liblog4cplusqt5debugappender_la_LDFLAGS) $(LDFLAGS) -o $@ @QT5_TRUE@am_liblog4cplusqt5debugappender_la_rpath = -rpath $(libdir) -@QT6_TRUE@am_liblog4cplusqt5debugappender_la_rpath = -rpath $(libdir) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_FALSE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_DEPENDENCIES = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_DEPENDENCIES = $(liblog4cplusU_la_file) -@QT5_FALSE@@QT6_TRUE@am__objects_13 = qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo @QT5_TRUE@am__objects_13 = qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_FALSE@@QT6_TRUE@am_liblog4cplusqt5debugappenderU_la_OBJECTS = $(am__objects_13) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am_liblog4cplusqt5debugappenderU_la_OBJECTS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(am__objects_13) liblog4cplusqt5debugappenderU_la_OBJECTS = \ @@ -480,11 +471,33 @@ liblog4cplusqt5debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt5debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@am_liblog4cplusqt5debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ -rpath $(libdir) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am_liblog4cplusqt5debugappenderU_la_rpath = \ +@QT6_TRUE@liblog4cplusqt6debugappender_la_DEPENDENCIES = \ +@QT6_TRUE@ $(liblog4cplus_la_file) +@QT6_TRUE@am__objects_14 = qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo +@QT6_TRUE@am_liblog4cplusqt6debugappender_la_OBJECTS = \ +@QT6_TRUE@ $(am__objects_14) +liblog4cplusqt6debugappender_la_OBJECTS = \ + $(am_liblog4cplusqt6debugappender_la_OBJECTS) +liblog4cplusqt6debugappender_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(liblog4cplusqt6debugappender_la_LDFLAGS) $(LDFLAGS) -o $@ +@QT6_TRUE@am_liblog4cplusqt6debugappender_la_rpath = -rpath $(libdir) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_DEPENDENCIES = $(liblog4cplusU_la_file) +@QT6_TRUE@am__objects_15 = qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am_liblog4cplusqt6debugappenderU_la_OBJECTS = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(am__objects_15) +liblog4cplusqt6debugappenderU_la_OBJECTS = \ + $(am_liblog4cplusqt6debugappenderU_la_OBJECTS) +liblog4cplusqt6debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ + --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(liblog4cplusqt6debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am_liblog4cplusqt6debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ -rpath $(libdir) -@ENABLE_TESTS_TRUE@am__objects_14 = \ +@ENABLE_TESTS_TRUE@am__objects_16 = \ @ENABLE_TESTS_TRUE@ tests/appender_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_appender_test_OBJECTS = $(am__objects_14) +@ENABLE_TESTS_TRUE@am_appender_test_OBJECTS = $(am__objects_16) appender_test_OBJECTS = $(am_appender_test_OBJECTS) @ENABLE_TESTS_TRUE@appender_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -492,35 +505,35 @@ appender_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(appender_test_LDFLAGS) $(LDFLAGS) \ -o $@ -@ENABLE_TESTS_TRUE@am__objects_15 = tests/appender_test/appender_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_appender_testU_OBJECTS = $(am__objects_15) +@ENABLE_TESTS_TRUE@am__objects_17 = tests/appender_test/appender_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_appender_testU_OBJECTS = $(am__objects_17) appender_testU_OBJECTS = $(am_appender_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_DEPENDENCIES = $(liblog4cplusU_la_file) appender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(appender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_16 = tests/configandwatch_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_18 = tests/configandwatch_test/main.$(OBJEXT) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_test_OBJECTS = \ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_16) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_18) configandwatch_test_OBJECTS = $(am_configandwatch_test_OBJECTS) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_DEPENDENCIES = $(liblog4cplus_la_file) configandwatch_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_17 = tests/configandwatch_test/configandwatch_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_testU_OBJECTS = $(am__objects_17) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_19 = tests/configandwatch_test/configandwatch_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_testU_OBJECTS = $(am__objects_19) configandwatch_testU_OBJECTS = $(am_configandwatch_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_DEPENDENCIES = $(liblog4cplusU_la_file) configandwatch_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_18 = \ +@ENABLE_TESTS_TRUE@am__objects_20 = \ @ENABLE_TESTS_TRUE@ tests/customloglevel_test/func.$(OBJEXT) \ @ENABLE_TESTS_TRUE@ tests/customloglevel_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_customloglevel_test_OBJECTS = $(am__objects_18) +@ENABLE_TESTS_TRUE@am_customloglevel_test_OBJECTS = $(am__objects_20) customloglevel_test_OBJECTS = $(am_customloglevel_test_OBJECTS) @ENABLE_TESTS_TRUE@customloglevel_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -528,18 +541,18 @@ customloglevel_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_19 = tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@am__objects_21 = tests/customloglevel_test/customloglevel_testU-func.$(OBJEXT) \ @ENABLE_TESTS_TRUE@ tests/customloglevel_test/customloglevel_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_customloglevel_testU_OBJECTS = $(am__objects_19) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_customloglevel_testU_OBJECTS = $(am__objects_21) customloglevel_testU_OBJECTS = $(am_customloglevel_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_DEPENDENCIES = $(liblog4cplusU_la_file) customloglevel_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_20 = \ +@ENABLE_TESTS_TRUE@am__objects_22 = \ @ENABLE_TESTS_TRUE@ tests/fileappender_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_fileappender_test_OBJECTS = $(am__objects_20) +@ENABLE_TESTS_TRUE@am_fileappender_test_OBJECTS = $(am__objects_22) fileappender_test_OBJECTS = $(am_fileappender_test_OBJECTS) @ENABLE_TESTS_TRUE@fileappender_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -547,31 +560,31 @@ fileappender_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(fileappender_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_21 = tests/fileappender_test/fileappender_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_fileappender_testU_OBJECTS = $(am__objects_21) +@ENABLE_TESTS_TRUE@am__objects_23 = tests/fileappender_test/fileappender_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_fileappender_testU_OBJECTS = $(am__objects_23) fileappender_testU_OBJECTS = $(am_fileappender_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_DEPENDENCIES = $(liblog4cplusU_la_file) fileappender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(fileappender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_22 = tests/filter_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_filter_test_OBJECTS = $(am__objects_22) +@ENABLE_TESTS_TRUE@am__objects_24 = tests/filter_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_filter_test_OBJECTS = $(am__objects_24) filter_test_OBJECTS = $(am_filter_test_OBJECTS) @ENABLE_TESTS_TRUE@filter_test_DEPENDENCIES = $(liblog4cplus_la_file) filter_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(filter_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_23 = tests/filter_test/filter_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_filter_testU_OBJECTS = $(am__objects_23) +@ENABLE_TESTS_TRUE@am__objects_25 = tests/filter_test/filter_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_filter_testU_OBJECTS = $(am__objects_25) filter_testU_OBJECTS = $(am_filter_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_DEPENDENCIES = $(liblog4cplusU_la_file) filter_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(filter_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_24 = \ +@ENABLE_TESTS_TRUE@am__objects_26 = \ @ENABLE_TESTS_TRUE@ tests/hierarchy_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_hierarchy_test_OBJECTS = $(am__objects_24) +@ENABLE_TESTS_TRUE@am_hierarchy_test_OBJECTS = $(am__objects_26) hierarchy_test_OBJECTS = $(am_hierarchy_test_OBJECTS) @ENABLE_TESTS_TRUE@hierarchy_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -579,72 +592,72 @@ hierarchy_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(hierarchy_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_25 = tests/hierarchy_test/hierarchy_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_hierarchy_testU_OBJECTS = $(am__objects_25) +@ENABLE_TESTS_TRUE@am__objects_27 = tests/hierarchy_test/hierarchy_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_hierarchy_testU_OBJECTS = $(am__objects_27) hierarchy_testU_OBJECTS = $(am_hierarchy_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_DEPENDENCIES = $(liblog4cplusU_la_file) hierarchy_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(hierarchy_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@MULTI_THREADED_TRUE@am__objects_26 = \ +@MULTI_THREADED_TRUE@am__objects_28 = \ @MULTI_THREADED_TRUE@ simpleserver/loggingserver.$(OBJEXT) -@MULTI_THREADED_TRUE@am_loggingserver_OBJECTS = $(am__objects_26) +@MULTI_THREADED_TRUE@am_loggingserver_OBJECTS = $(am__objects_28) loggingserver_OBJECTS = $(am_loggingserver_OBJECTS) @MULTI_THREADED_TRUE@loggingserver_DEPENDENCIES = \ @MULTI_THREADED_TRUE@ $(liblog4cplus_la_file) -@MULTI_THREADED_TRUE@am__objects_27 = simpleserver/loggingserverU-loggingserver.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_loggingserverU_OBJECTS = $(am__objects_27) +@MULTI_THREADED_TRUE@am__objects_29 = simpleserver/loggingserverU-loggingserver.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_loggingserverU_OBJECTS = $(am__objects_29) loggingserverU_OBJECTS = $(am_loggingserverU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@loggingserverU_DEPENDENCIES = $(liblog4cplusU_la_file) -@ENABLE_TESTS_TRUE@am__objects_28 = tests/loglog_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_loglog_test_OBJECTS = $(am__objects_28) +@ENABLE_TESTS_TRUE@am__objects_30 = tests/loglog_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_loglog_test_OBJECTS = $(am__objects_30) loglog_test_OBJECTS = $(am_loglog_test_OBJECTS) @ENABLE_TESTS_TRUE@loglog_test_DEPENDENCIES = $(liblog4cplus_la_file) loglog_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(loglog_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_29 = tests/loglog_test/loglog_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_loglog_testU_OBJECTS = $(am__objects_29) +@ENABLE_TESTS_TRUE@am__objects_31 = tests/loglog_test/loglog_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_loglog_testU_OBJECTS = $(am__objects_31) loglog_testU_OBJECTS = $(am_loglog_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_DEPENDENCIES = $(liblog4cplusU_la_file) loglog_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(loglog_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_30 = tests/ndc_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_ndc_test_OBJECTS = $(am__objects_30) +@ENABLE_TESTS_TRUE@am__objects_32 = tests/ndc_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_ndc_test_OBJECTS = $(am__objects_32) ndc_test_OBJECTS = $(am_ndc_test_OBJECTS) @ENABLE_TESTS_TRUE@ndc_test_DEPENDENCIES = $(liblog4cplus_la_file) ndc_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ndc_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_31 = \ +@ENABLE_TESTS_TRUE@am__objects_33 = \ @ENABLE_TESTS_TRUE@ tests/ndc_test/ndc_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ndc_testU_OBJECTS = $(am__objects_31) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ndc_testU_OBJECTS = $(am__objects_33) ndc_testU_OBJECTS = $(am_ndc_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_DEPENDENCIES = $(liblog4cplusU_la_file) ndc_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ndc_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_32 = tests/ostream_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_ostream_test_OBJECTS = $(am__objects_32) +@ENABLE_TESTS_TRUE@am__objects_34 = tests/ostream_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_ostream_test_OBJECTS = $(am__objects_34) ostream_test_OBJECTS = $(am_ostream_test_OBJECTS) @ENABLE_TESTS_TRUE@ostream_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) ostream_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ostream_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_33 = tests/ostream_test/ostream_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ostream_testU_OBJECTS = $(am__objects_33) +@ENABLE_TESTS_TRUE@am__objects_35 = tests/ostream_test/ostream_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_ostream_testU_OBJECTS = $(am__objects_35) ostream_testU_OBJECTS = $(am_ostream_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_DEPENDENCIES = $(liblog4cplusU_la_file) ostream_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(ostream_testU_LDFLAGS) $(LDFLAGS) \ -o $@ -@ENABLE_TESTS_TRUE@am__objects_34 = \ +@ENABLE_TESTS_TRUE@am__objects_36 = \ @ENABLE_TESTS_TRUE@ tests/patternlayout_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_patternlayout_test_OBJECTS = $(am__objects_34) +@ENABLE_TESTS_TRUE@am_patternlayout_test_OBJECTS = $(am__objects_36) patternlayout_test_OBJECTS = $(am_patternlayout_test_OBJECTS) @ENABLE_TESTS_TRUE@patternlayout_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -652,17 +665,17 @@ patternlayout_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(patternlayout_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_35 = tests/patternlayout_test/patternlayout_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_patternlayout_testU_OBJECTS = $(am__objects_35) +@ENABLE_TESTS_TRUE@am__objects_37 = tests/patternlayout_test/patternlayout_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_patternlayout_testU_OBJECTS = $(am__objects_37) patternlayout_testU_OBJECTS = $(am_patternlayout_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_DEPENDENCIES = $(liblog4cplusU_la_file) patternlayout_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(patternlayout_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_36 = \ +@ENABLE_TESTS_TRUE@am__objects_38 = \ @ENABLE_TESTS_TRUE@ tests/performance_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_performance_test_OBJECTS = $(am__objects_36) +@ENABLE_TESTS_TRUE@am_performance_test_OBJECTS = $(am__objects_38) performance_test_OBJECTS = $(am_performance_test_OBJECTS) @ENABLE_TESTS_TRUE@performance_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -670,18 +683,18 @@ performance_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(performance_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_37 = tests/performance_test/performance_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_performance_testU_OBJECTS = $(am__objects_37) +@ENABLE_TESTS_TRUE@am__objects_39 = tests/performance_test/performance_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_performance_testU_OBJECTS = $(am__objects_39) performance_testU_OBJECTS = $(am_performance_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_DEPENDENCIES = $(liblog4cplusU_la_file) performance_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(performance_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_38 = \ +@ENABLE_TESTS_TRUE@am__objects_40 = \ @ENABLE_TESTS_TRUE@ tests/priority_test/func.$(OBJEXT) \ @ENABLE_TESTS_TRUE@ tests/priority_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_priority_test_OBJECTS = $(am__objects_38) +@ENABLE_TESTS_TRUE@am_priority_test_OBJECTS = $(am__objects_40) priority_test_OBJECTS = $(am_priority_test_OBJECTS) @ENABLE_TESTS_TRUE@priority_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -689,18 +702,18 @@ priority_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(priority_test_LDFLAGS) $(LDFLAGS) \ -o $@ -@ENABLE_TESTS_TRUE@am__objects_39 = tests/priority_test/priority_testU-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@am__objects_41 = tests/priority_test/priority_testU-func.$(OBJEXT) \ @ENABLE_TESTS_TRUE@ tests/priority_test/priority_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_priority_testU_OBJECTS = $(am__objects_39) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_priority_testU_OBJECTS = $(am__objects_41) priority_testU_OBJECTS = $(am_priority_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_DEPENDENCIES = $(liblog4cplusU_la_file) priority_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(priority_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_40 = \ +@ENABLE_TESTS_TRUE@am__objects_42 = \ @ENABLE_TESTS_TRUE@ tests/propertyconfig_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_propertyconfig_test_OBJECTS = $(am__objects_40) +@ENABLE_TESTS_TRUE@am_propertyconfig_test_OBJECTS = $(am__objects_42) propertyconfig_test_OBJECTS = $(am_propertyconfig_test_OBJECTS) @ENABLE_TESTS_TRUE@propertyconfig_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -708,46 +721,46 @@ propertyconfig_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(propertyconfig_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_41 = tests/propertyconfig_test/propertyconfig_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_propertyconfig_testU_OBJECTS = $(am__objects_41) +@ENABLE_TESTS_TRUE@am__objects_43 = tests/propertyconfig_test/propertyconfig_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_propertyconfig_testU_OBJECTS = $(am__objects_43) propertyconfig_testU_OBJECTS = $(am_propertyconfig_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_DEPENDENCIES = $(liblog4cplusU_la_file) propertyconfig_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(propertyconfig_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_42 = tests/socket_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_socket_test_OBJECTS = $(am__objects_42) +@ENABLE_TESTS_TRUE@am__objects_44 = tests/socket_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_socket_test_OBJECTS = $(am__objects_44) socket_test_OBJECTS = $(am_socket_test_OBJECTS) @ENABLE_TESTS_TRUE@socket_test_DEPENDENCIES = $(liblog4cplus_la_file) socket_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_43 = tests/socket_test/socket_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_socket_testU_OBJECTS = $(am__objects_43) +@ENABLE_TESTS_TRUE@am__objects_45 = tests/socket_test/socket_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_socket_testU_OBJECTS = $(am__objects_45) socket_testU_OBJECTS = $(am_socket_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_DEPENDENCIES = $(liblog4cplusU_la_file) socket_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_44 = tests/thread_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_46 = tests/thread_test/main.$(OBJEXT) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_test_OBJECTS = \ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_44) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_46) thread_test_OBJECTS = $(am_thread_test_OBJECTS) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_DEPENDENCIES = $(liblog4cplus_la_file) thread_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_45 = tests/thread_test/thread_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_45) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_47 = tests/thread_test/thread_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_47) thread_testU_OBJECTS = $(am_thread_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_DEPENDENCIES = $(liblog4cplusU_la_file) thread_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_46 = \ +@ENABLE_TESTS_TRUE@am__objects_48 = \ @ENABLE_TESTS_TRUE@ tests/timeformat_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_timeformat_test_OBJECTS = $(am__objects_46) +@ENABLE_TESTS_TRUE@am_timeformat_test_OBJECTS = $(am__objects_48) timeformat_test_OBJECTS = $(am_timeformat_test_OBJECTS) @ENABLE_TESTS_TRUE@timeformat_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -755,24 +768,24 @@ timeformat_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_47 = tests/timeformat_test/timeformat_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_timeformat_testU_OBJECTS = $(am__objects_47) +@ENABLE_TESTS_TRUE@am__objects_49 = tests/timeformat_test/timeformat_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_timeformat_testU_OBJECTS = $(am__objects_49) timeformat_testU_OBJECTS = $(am_timeformat_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_DEPENDENCIES = $(liblog4cplusU_la_file) timeformat_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_48 = \ +@ENABLE_TESTS_TRUE@am__objects_50 = \ @ENABLE_TESTS_TRUE@ tests/unit_tests/unit_tests.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_unit_tests_OBJECTS = $(am__objects_48) +@ENABLE_TESTS_TRUE@am_unit_tests_OBJECTS = $(am__objects_50) unit_tests_OBJECTS = $(am_unit_tests_OBJECTS) @ENABLE_TESTS_TRUE@unit_tests_DEPENDENCIES = $(liblog4cplus_la_file) unit_tests_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(unit_tests_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_49 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_unit_testsU_OBJECTS = $(am__objects_49) +@ENABLE_TESTS_TRUE@am__objects_51 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_unit_testsU_OBJECTS = $(am__objects_51) unit_testsU_OBJECTS = $(am_unit_testsU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_DEPENDENCIES = $(liblog4cplusU_la_file) unit_testsU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ @@ -801,6 +814,8 @@ am__depfiles_remade = $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-ca qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo \ qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappenderU_la-qt5debugappender.Plo \ qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappender_la-qt5debugappender.Plo \ + qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Plo \ + qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Plo \ simpleserver/$(DEPDIR)/loggingserver.Po \ simpleserver/$(DEPDIR)/loggingserverU-loggingserver.Po \ src/$(DEPDIR)/liblog4cplusU_la-appender.Plo \ @@ -998,6 +1013,8 @@ SOURCES = $(_log4cplus_la_SOURCES) $(_log4cplusU_la_SOURCES) \ $(liblog4cplusqt4debugappenderU_la_SOURCES) \ $(liblog4cplusqt5debugappender_la_SOURCES) \ $(liblog4cplusqt5debugappenderU_la_SOURCES) \ + $(liblog4cplusqt6debugappender_la_SOURCES) \ + $(liblog4cplusqt6debugappenderU_la_SOURCES) \ $(appender_test_SOURCES) $(appender_testU_SOURCES) \ $(configandwatch_test_SOURCES) $(configandwatch_testU_SOURCES) \ $(customloglevel_test_SOURCES) $(customloglevel_testU_SOURCES) \ @@ -1342,66 +1359,66 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @QT5_TRUE@ -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ @QT5_TRUE@ @QT5_CFLAGS@ -@QT6_TRUE@liblog4cplusqt5debugappender_la_cppflags = \ -@QT6_TRUE@ $(AM_CPPFLAGS) \ -@QT6_TRUE@ -DINSIDE_LOG4CPLUS_QT5DEBUGAPPENDER \ -@QT6_TRUE@ @QT5_CFLAGS@ - @QT5_TRUE@liblog4cplusqt5debugappender_la_CPPFLAGS = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) -@QT6_TRUE@liblog4cplusqt5debugappender_la_CPPFLAGS = \ -@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) - @QT5_TRUE@liblog4cplusqt5debugappender_la_sources = \ @QT5_TRUE@ $(INCLUDES_SRC_PATH)/qt5debugappender.h \ @QT5_TRUE@ qt5debugappender/qt5debugappender.cxx -@QT6_TRUE@liblog4cplusqt5debugappender_la_sources = \ -@QT6_TRUE@ $(INCLUDES_SRC_PATH)/qt5debugappender.h \ -@QT6_TRUE@ qt5debugappender/qt5debugappender.cxx - @QT5_TRUE@liblog4cplusqt5debugappender_la_SOURCES = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_sources) -@QT6_TRUE@liblog4cplusqt5debugappender_la_SOURCES = \ -@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_sources) - @QT5_TRUE@liblog4cplusqt5debugappender_la_LIBADD = $(liblog4cplus_la_file) -@QT6_TRUE@liblog4cplusqt5debugappender_la_LIBADD = $(liblog4cplus_la_file) @QT5_TRUE@liblog4cplusqt5debugappender_la_ldflags = -no-undefined \ @QT5_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ @QT5_TRUE@ @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ -@QT6_TRUE@liblog4cplusqt5debugappender_la_ldflags = -no-undefined \ -@QT6_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ -@QT6_TRUE@ @QT5_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ - @QT5_TRUE@liblog4cplusqt5debugappender_la_LDFLAGS = \ @QT5_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) -@QT6_TRUE@liblog4cplusqt5debugappender_la_LDFLAGS = \ -@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) - @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_CPPFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_CPPFLAGS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 - @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_SOURCES = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_SOURCES = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_sources) - @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_LDFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt5debugappenderU_la_LDFLAGS = \ -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) +@QT6_TRUE@liblog4cplusqt6debugappender_la_cppflags = \ +@QT6_TRUE@ $(AM_CPPFLAGS) \ +@QT6_TRUE@ -DINSIDE_LOG4CPLUS_QT6DEBUGAPPENDER \ +@QT6_TRUE@ @QT6_CFLAGS@ + +@QT6_TRUE@liblog4cplusqt6debugappender_la_CPPFLAGS = \ +@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_cppflags) + +@QT6_TRUE@liblog4cplusqt6debugappender_la_sources = \ +@QT6_TRUE@ $(INCLUDES_SRC_PATH)/qt6debugappender.h \ +@QT6_TRUE@ qt6debugappender/qt6debugappender.cxx + +@QT6_TRUE@liblog4cplusqt6debugappender_la_SOURCES = \ +@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_sources) + +@QT6_TRUE@liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) +@QT6_TRUE@liblog4cplusqt6debugappender_la_ldflags = -no-undefined \ +@QT6_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ +@QT6_TRUE@ @QT6_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ + +@QT6_TRUE@liblog4cplusqt6debugappender_la_LDFLAGS = \ +@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_ldflags) + +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_CPPFLAGS = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 + +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_SOURCES = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_sources) + +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_LDFLAGS = \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_ldflags) @WITH_SWIG_TRUE@SWIG_SOURCES = \ @WITH_SWIG_TRUE@ swig/configurator.swg \ @@ -1638,7 +1655,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .cpp .cxx .lo .o .obj am--refresh: Makefile @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -1660,7 +1677,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; -$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): +$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -2071,6 +2088,24 @@ qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo: \ liblog4cplusqt5debugappenderU.la: $(liblog4cplusqt5debugappenderU_la_OBJECTS) $(liblog4cplusqt5debugappenderU_la_DEPENDENCIES) $(EXTRA_liblog4cplusqt5debugappenderU_la_DEPENDENCIES) $(AM_V_CXXLD)$(liblog4cplusqt5debugappenderU_la_LINK) $(am_liblog4cplusqt5debugappenderU_la_rpath) $(liblog4cplusqt5debugappenderU_la_OBJECTS) $(liblog4cplusqt5debugappenderU_la_LIBADD) $(LIBS) +qt6debugappender/$(am__dirstamp): + @$(MKDIR_P) qt6debugappender + @: >>qt6debugappender/$(am__dirstamp) +qt6debugappender/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt6debugappender/$(DEPDIR) + @: >>qt6debugappender/$(DEPDIR)/$(am__dirstamp) +qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo: \ + qt6debugappender/$(am__dirstamp) \ + qt6debugappender/$(DEPDIR)/$(am__dirstamp) + +liblog4cplusqt6debugappender.la: $(liblog4cplusqt6debugappender_la_OBJECTS) $(liblog4cplusqt6debugappender_la_DEPENDENCIES) $(EXTRA_liblog4cplusqt6debugappender_la_DEPENDENCIES) + $(AM_V_CXXLD)$(liblog4cplusqt6debugappender_la_LINK) $(am_liblog4cplusqt6debugappender_la_rpath) $(liblog4cplusqt6debugappender_la_OBJECTS) $(liblog4cplusqt6debugappender_la_LIBADD) $(LIBS) +qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo: \ + qt6debugappender/$(am__dirstamp) \ + qt6debugappender/$(DEPDIR)/$(am__dirstamp) + +liblog4cplusqt6debugappenderU.la: $(liblog4cplusqt6debugappenderU_la_OBJECTS) $(liblog4cplusqt6debugappenderU_la_DEPENDENCIES) $(EXTRA_liblog4cplusqt6debugappenderU_la_DEPENDENCIES) + $(AM_V_CXXLD)$(liblog4cplusqt6debugappenderU_la_LINK) $(am_liblog4cplusqt6debugappenderU_la_rpath) $(liblog4cplusqt6debugappenderU_la_OBJECTS) $(liblog4cplusqt6debugappenderU_la_LIBADD) $(LIBS) tests/appender_test/$(am__dirstamp): @$(MKDIR_P) tests/appender_test @: >>tests/appender_test/$(am__dirstamp) @@ -2445,6 +2480,8 @@ mostlyclean-compile: -rm -f qt4debugappender/*.lo -rm -f qt5debugappender/*.$(OBJEXT) -rm -f qt5debugappender/*.lo + -rm -f qt6debugappender/*.$(OBJEXT) + -rm -f qt6debugappender/*.lo -rm -f simpleserver/*.$(OBJEXT) -rm -f src/*.$(OBJEXT) -rm -f src/*.lo @@ -2477,6 +2514,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappenderU_la-qt5debugappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappender_la-qt5debugappender.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@simpleserver/$(DEPDIR)/loggingserver.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@simpleserver/$(DEPDIR)/loggingserverU-loggingserver.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplusU_la-appender.Plo@am__quote@ # am--include-marker @@ -3516,6 +3555,20 @@ qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo: qt5debuga @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt5debugappenderU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt5debugappender/liblog4cplusqt5debugappenderU_la-qt5debugappender.lo `test -f 'qt5debugappender/qt5debugappender.cxx' || echo '$(srcdir)/'`qt5debugappender/qt5debugappender.cxx +qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo: qt6debugappender/qt6debugappender.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt6debugappender_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo -MD -MP -MF qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Tpo -c -o qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo `test -f 'qt6debugappender/qt6debugappender.cxx' || echo '$(srcdir)/'`qt6debugappender/qt6debugappender.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Tpo qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='qt6debugappender/qt6debugappender.cxx' object='qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt6debugappender_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt6debugappender/liblog4cplusqt6debugappender_la-qt6debugappender.lo `test -f 'qt6debugappender/qt6debugappender.cxx' || echo '$(srcdir)/'`qt6debugappender/qt6debugappender.cxx + +qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo: qt6debugappender/qt6debugappender.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt6debugappenderU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo -MD -MP -MF qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Tpo -c -o qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo `test -f 'qt6debugappender/qt6debugappender.cxx' || echo '$(srcdir)/'`qt6debugappender/qt6debugappender.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Tpo qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='qt6debugappender/qt6debugappender.cxx' object='qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt6debugappenderU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo `test -f 'qt6debugappender/qt6debugappender.cxx' || echo '$(srcdir)/'`qt6debugappender/qt6debugappender.cxx + tests/appender_test/appender_testU-main.o: tests/appender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/appender_test/appender_testU-main.o -MD -MP -MF tests/appender_test/$(DEPDIR)/appender_testU-main.Tpo -c -o tests/appender_test/appender_testU-main.o `test -f 'tests/appender_test/main.cxx' || echo '$(srcdir)/'`tests/appender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/appender_test/$(DEPDIR)/appender_testU-main.Tpo tests/appender_test/$(DEPDIR)/appender_testU-main.Po @@ -3828,6 +3881,7 @@ clean-libtool: -rm -rf .libs _libs -rm -rf qt4debugappender/.libs qt4debugappender/_libs -rm -rf qt5debugappender/.libs qt5debugappender/_libs + -rm -rf qt6debugappender/.libs qt6debugappender/_libs -rm -rf src/.libs src/_libs distclean-libtool: @@ -4047,6 +4101,8 @@ distclean-generic: -$(am__rm_f) qt4debugappender/$(am__dirstamp) -$(am__rm_f) qt5debugappender/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) qt5debugappender/$(am__dirstamp) + -$(am__rm_f) qt6debugappender/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) qt6debugappender/$(am__dirstamp) -$(am__rm_f) simpleserver/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) simpleserver/$(am__dirstamp) -$(am__rm_f) src/$(DEPDIR)/$(am__dirstamp) @@ -4106,6 +4162,8 @@ distclean: distclean-recursive -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo -rm -f qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappenderU_la-qt5debugappender.Plo -rm -f qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappender_la-qt5debugappender.Plo + -rm -f qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Plo + -rm -f qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Plo -rm -f simpleserver/$(DEPDIR)/loggingserver.Po -rm -f simpleserver/$(DEPDIR)/loggingserverU-loggingserver.Po -rm -f src/$(DEPDIR)/liblog4cplusU_la-appender.Plo @@ -4315,6 +4373,8 @@ maintainer-clean: maintainer-clean-recursive -rm -f qt4debugappender/$(DEPDIR)/liblog4cplusqt4debugappender_la-qt4debugappender.Plo -rm -f qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappenderU_la-qt5debugappender.Plo -rm -f qt5debugappender/$(DEPDIR)/liblog4cplusqt5debugappender_la-qt5debugappender.Plo + -rm -f qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappenderU_la-qt6debugappender.Plo + -rm -f qt6debugappender/$(DEPDIR)/liblog4cplusqt6debugappender_la-qt6debugappender.Plo -rm -f simpleserver/$(DEPDIR)/loggingserver.Po -rm -f simpleserver/$(DEPDIR)/loggingserverU-loggingserver.Po -rm -f src/$(DEPDIR)/liblog4cplusU_la-appender.Plo From 03dd7ee09301163b619436de7a223d4c98d80b91 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sat, 28 Jun 2025 09:54:38 +0200 Subject: [PATCH 345/353] Add Qt6 message handler test. Improve tests. --- Makefile.am | 3 + Makefile.in | 721 ++++++++++++++----- configure | 3 + configure.ac | 2 + include/Makefile.in | 1 + include/log4cplus/qt6debugappender.h | 6 + include/log4cplus/qt6messagehandler.h | 19 +- qt6debugappender/Makefile.am | 11 +- qt6debugappender/qt6debugappender.cxx | 7 +- tests/Makefile.am | 1 + tests/Makefile.am.def | 6 +- tests/Makefile.am.tpl | 21 +- tests/appender_test/Makefile.am | 3 +- tests/atlocal.in | 7 +- tests/configandwatch_test/Makefile.am | 5 +- tests/customloglevel_test/Makefile.am | 3 +- tests/fileappender_test/Makefile.am | 3 +- tests/filter_test/Makefile.am | 3 +- tests/headers.at | 2 + tests/hierarchy_test/Makefile.am | 3 +- tests/loglog_test/Makefile.am | 3 +- tests/ndc_test/Makefile.am | 3 +- tests/ostream_test/Makefile.am | 3 +- tests/patternlayout_test/Makefile.am | 3 +- tests/performance_test/Makefile.am | 3 +- tests/priority_test/Makefile.am | 3 +- tests/propertyconfig_test/Makefile.am | 3 +- tests/qt6messagehandler_test.at | 12 + tests/qt6messagehandler_test/Makefile.am | 25 + tests/qt6messagehandler_test/Makefile.am.inc | 13 + tests/qt6messagehandler_test/expout | 1 + tests/qt6messagehandler_test/main.cxx | 26 + tests/socket_test/Makefile.am | 3 +- tests/testsuite | 627 ++++++++++------ tests/testsuite.at | 1 + tests/thread_test/Makefile.am | 5 +- tests/timeformat_test/Makefile.am | 3 +- tests/unit_tests/Makefile.am | 3 +- 38 files changed, 1154 insertions(+), 416 deletions(-) create mode 100644 tests/qt6messagehandler_test.at create mode 100644 tests/qt6messagehandler_test/Makefile.am create mode 100644 tests/qt6messagehandler_test/Makefile.am.inc create mode 100644 tests/qt6messagehandler_test/expout create mode 100644 tests/qt6messagehandler_test/main.cxx diff --git a/Makefile.am b/Makefile.am index 90cb580c6..005ab8b06 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,6 +101,9 @@ if ENABLE_TESTS include %D%/tests/propertyconfig_test/Makefile.am endif if ENABLE_TESTS +include %D%/tests/qt6messagehandler_test/Makefile.am +endif +if ENABLE_TESTS include %D%/tests/socket_test/Makefile.am endif if ENABLE_TESTS diff --git a/Makefile.in b/Makefile.in index 962906904..8472284b0 100644 --- a/Makefile.in +++ b/Makefile.in @@ -104,7 +104,8 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_25) $(am__EXEEXT_26) $(am__EXEEXT_27) \ $(am__EXEEXT_28) $(am__EXEEXT_29) $(am__EXEEXT_30) \ $(am__EXEEXT_31) $(am__EXEEXT_32) $(am__EXEEXT_33) \ - $(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) + $(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) \ + $(am__EXEEXT_37) $(am__EXEEXT_38) @ENABLE_UNIT_TESTS_TRUE@am__append_1 = \ @ENABLE_UNIT_TESTS_TRUE@ src/boost_tests.cxx \ @ENABLE_UNIT_TESTS_TRUE@ $(top_srcdir)/catch/extras/catch_amalgamated.cpp @@ -149,14 +150,16 @@ noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_39 = priority_testU @ENABLE_TESTS_TRUE@am__append_40 = propertyconfig_test @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_41 = propertyconfig_testU -@ENABLE_TESTS_TRUE@am__append_42 = socket_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_43 = socket_testU -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_44 = thread_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_45 = thread_testU -@ENABLE_TESTS_TRUE@am__append_46 = timeformat_test -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_47 = timeformat_testU -@ENABLE_TESTS_TRUE@am__append_48 = unit_tests -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_49 = unit_testsU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__append_42 = qt6messagehandler_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__append_43 = qt6messagehandler_testU +@ENABLE_TESTS_TRUE@am__append_44 = socket_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_45 = socket_testU +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_46 = thread_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__append_47 = thread_testU +@ENABLE_TESTS_TRUE@am__append_48 = timeformat_test +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_49 = timeformat_testU +@ENABLE_TESTS_TRUE@am__append_50 = unit_tests +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__append_51 = unit_testsU subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ @@ -229,15 +232,17 @@ CONFIG_CLEAN_VPATH_FILES = @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_26 = priority_testU$(EXEEXT) @ENABLE_TESTS_TRUE@am__EXEEXT_27 = propertyconfig_test$(EXEEXT) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_28 = propertyconfig_testU$(EXEEXT) -@ENABLE_TESTS_TRUE@am__EXEEXT_29 = socket_test$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_30 = socket_testU$(EXEEXT) -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_31 = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__EXEEXT_29 = qt6messagehandler_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__EXEEXT_30 = qt6messagehandler_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_31 = socket_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_32 = socket_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_33 = \ @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ thread_test$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_32 = thread_testU$(EXEEXT) -@ENABLE_TESTS_TRUE@am__EXEEXT_33 = timeformat_test$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_34 = timeformat_testU$(EXEEXT) -@ENABLE_TESTS_TRUE@am__EXEEXT_35 = unit_tests$(EXEEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_36 = unit_testsU$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__EXEEXT_34 = thread_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_35 = timeformat_test$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_36 = timeformat_testU$(EXEEXT) +@ENABLE_TESTS_TRUE@am__EXEEXT_37 = unit_tests$(EXEEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am__EXEEXT_38 = unit_testsU$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ @@ -495,8 +500,7 @@ liblog4cplusqt6debugappenderU_la_LINK = $(LIBTOOL) $(AM_V_lt) \ $(liblog4cplusqt6debugappenderU_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@am_liblog4cplusqt6debugappenderU_la_rpath = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ -rpath $(libdir) -@ENABLE_TESTS_TRUE@am__objects_16 = \ -@ENABLE_TESTS_TRUE@ tests/appender_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_16 = tests/appender_test/appender_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_appender_test_OBJECTS = $(am__objects_16) appender_test_OBJECTS = $(am_appender_test_OBJECTS) @ENABLE_TESTS_TRUE@appender_test_DEPENDENCIES = \ @@ -513,7 +517,7 @@ appender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(appender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_18 = tests/configandwatch_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_18 = tests/configandwatch_test/configandwatch_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_configandwatch_test_OBJECTS = \ @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_18) configandwatch_test_OBJECTS = $(am_configandwatch_test_OBJECTS) @@ -530,9 +534,8 @@ configandwatch_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(configandwatch_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_20 = \ -@ENABLE_TESTS_TRUE@ tests/customloglevel_test/func.$(OBJEXT) \ -@ENABLE_TESTS_TRUE@ tests/customloglevel_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_20 = tests/customloglevel_test/customloglevel_test-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/customloglevel_test/customloglevel_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_customloglevel_test_OBJECTS = $(am__objects_20) customloglevel_test_OBJECTS = $(am_customloglevel_test_OBJECTS) @ENABLE_TESTS_TRUE@customloglevel_test_DEPENDENCIES = \ @@ -550,8 +553,7 @@ customloglevel_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(customloglevel_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_22 = \ -@ENABLE_TESTS_TRUE@ tests/fileappender_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_22 = tests/fileappender_test/fileappender_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_fileappender_test_OBJECTS = $(am__objects_22) fileappender_test_OBJECTS = $(am_fileappender_test_OBJECTS) @ENABLE_TESTS_TRUE@fileappender_test_DEPENDENCIES = \ @@ -568,7 +570,7 @@ fileappender_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(fileappender_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_24 = tests/filter_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_24 = tests/filter_test/filter_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_filter_test_OBJECTS = $(am__objects_24) filter_test_OBJECTS = $(am_filter_test_OBJECTS) @ENABLE_TESTS_TRUE@filter_test_DEPENDENCIES = $(liblog4cplus_la_file) @@ -582,8 +584,7 @@ filter_testU_OBJECTS = $(am_filter_testU_OBJECTS) filter_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(filter_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_26 = \ -@ENABLE_TESTS_TRUE@ tests/hierarchy_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_26 = tests/hierarchy_test/hierarchy_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_hierarchy_test_OBJECTS = $(am__objects_26) hierarchy_test_OBJECTS = $(am_hierarchy_test_OBJECTS) @ENABLE_TESTS_TRUE@hierarchy_test_DEPENDENCIES = \ @@ -610,7 +611,7 @@ loggingserver_OBJECTS = $(am_loggingserver_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@am_loggingserverU_OBJECTS = $(am__objects_29) loggingserverU_OBJECTS = $(am_loggingserverU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@MULTI_THREADED_TRUE@loggingserverU_DEPENDENCIES = $(liblog4cplusU_la_file) -@ENABLE_TESTS_TRUE@am__objects_30 = tests/loglog_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_30 = tests/loglog_test/loglog_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_loglog_test_OBJECTS = $(am__objects_30) loglog_test_OBJECTS = $(am_loglog_test_OBJECTS) @ENABLE_TESTS_TRUE@loglog_test_DEPENDENCIES = $(liblog4cplus_la_file) @@ -624,7 +625,8 @@ loglog_testU_OBJECTS = $(am_loglog_testU_OBJECTS) loglog_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(loglog_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_32 = tests/ndc_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_32 = \ +@ENABLE_TESTS_TRUE@ tests/ndc_test/ndc_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_ndc_test_OBJECTS = $(am__objects_32) ndc_test_OBJECTS = $(am_ndc_test_OBJECTS) @ENABLE_TESTS_TRUE@ndc_test_DEPENDENCIES = $(liblog4cplus_la_file) @@ -639,7 +641,7 @@ ndc_testU_OBJECTS = $(am_ndc_testU_OBJECTS) ndc_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(ndc_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_34 = tests/ostream_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_34 = tests/ostream_test/ostream_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_ostream_test_OBJECTS = $(am__objects_34) ostream_test_OBJECTS = $(am_ostream_test_OBJECTS) @ENABLE_TESTS_TRUE@ostream_test_DEPENDENCIES = \ @@ -655,8 +657,7 @@ ostream_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(ostream_testU_LDFLAGS) $(LDFLAGS) \ -o $@ -@ENABLE_TESTS_TRUE@am__objects_36 = \ -@ENABLE_TESTS_TRUE@ tests/patternlayout_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_36 = tests/patternlayout_test/patternlayout_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_patternlayout_test_OBJECTS = $(am__objects_36) patternlayout_test_OBJECTS = $(am_patternlayout_test_OBJECTS) @ENABLE_TESTS_TRUE@patternlayout_test_DEPENDENCIES = \ @@ -673,8 +674,7 @@ patternlayout_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(patternlayout_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_38 = \ -@ENABLE_TESTS_TRUE@ tests/performance_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_38 = tests/performance_test/performance_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_performance_test_OBJECTS = $(am__objects_38) performance_test_OBJECTS = $(am_performance_test_OBJECTS) @ENABLE_TESTS_TRUE@performance_test_DEPENDENCIES = \ @@ -691,9 +691,8 @@ performance_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(performance_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_40 = \ -@ENABLE_TESTS_TRUE@ tests/priority_test/func.$(OBJEXT) \ -@ENABLE_TESTS_TRUE@ tests/priority_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_40 = tests/priority_test/priority_test-func.$(OBJEXT) \ +@ENABLE_TESTS_TRUE@ tests/priority_test/priority_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_priority_test_OBJECTS = $(am__objects_40) priority_test_OBJECTS = $(am_priority_test_OBJECTS) @ENABLE_TESTS_TRUE@priority_test_DEPENDENCIES = \ @@ -711,8 +710,7 @@ priority_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(priority_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_42 = \ -@ENABLE_TESTS_TRUE@ tests/propertyconfig_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am__objects_42 = tests/propertyconfig_test/propertyconfig_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@am_propertyconfig_test_OBJECTS = $(am__objects_42) propertyconfig_test_OBJECTS = $(am_propertyconfig_test_OBJECTS) @ENABLE_TESTS_TRUE@propertyconfig_test_DEPENDENCIES = \ @@ -729,38 +727,56 @@ propertyconfig_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(propertyconfig_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_44 = tests/socket_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_socket_test_OBJECTS = $(am__objects_44) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__objects_44 = tests/qt6messagehandler_test/qt6messagehandler_test-main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am_qt6messagehandler_test_OBJECTS = $(am__objects_44) +qt6messagehandler_test_OBJECTS = $(am_qt6messagehandler_test_OBJECTS) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_DEPENDENCIES = $(liblog4cplus_la_file) \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(top_builddir)/liblog4cplusqt6debugappender.la +qt6messagehandler_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(qt6messagehandler_test_LDFLAGS) \ + $(LDFLAGS) -o $@ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am__objects_45 = tests/qt6messagehandler_test/qt6messagehandler_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@am_qt6messagehandler_testU_OBJECTS = $(am__objects_45) +qt6messagehandler_testU_OBJECTS = \ + $(am_qt6messagehandler_testU_OBJECTS) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_testU_DEPENDENCIES = $(liblog4cplusU_la_file) \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(top_builddir)/liblog4cplusqt6debugappenderU.la +qt6messagehandler_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(qt6messagehandler_testU_LDFLAGS) \ + $(LDFLAGS) -o $@ +@ENABLE_TESTS_TRUE@am__objects_46 = tests/socket_test/socket_test-main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_socket_test_OBJECTS = $(am__objects_46) socket_test_OBJECTS = $(am_socket_test_OBJECTS) @ENABLE_TESTS_TRUE@socket_test_DEPENDENCIES = $(liblog4cplus_la_file) socket_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_45 = tests/socket_test/socket_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_socket_testU_OBJECTS = $(am__objects_45) +@ENABLE_TESTS_TRUE@am__objects_47 = tests/socket_test/socket_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_socket_testU_OBJECTS = $(am__objects_47) socket_testU_OBJECTS = $(am_socket_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_DEPENDENCIES = $(liblog4cplusU_la_file) socket_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(socket_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_46 = tests/thread_test/main.$(OBJEXT) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_48 = tests/thread_test/thread_test-main.$(OBJEXT) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_test_OBJECTS = \ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_46) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ $(am__objects_48) thread_test_OBJECTS = $(am_thread_test_OBJECTS) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_DEPENDENCIES = $(liblog4cplus_la_file) thread_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_test_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_47 = tests/thread_test/thread_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_47) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am__objects_49 = tests/thread_test/thread_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@am_thread_testU_OBJECTS = $(am__objects_49) thread_testU_OBJECTS = $(am_thread_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_DEPENDENCIES = $(liblog4cplusU_la_file) thread_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(thread_testU_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_48 = \ -@ENABLE_TESTS_TRUE@ tests/timeformat_test/main.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_timeformat_test_OBJECTS = $(am__objects_48) +@ENABLE_TESTS_TRUE@am__objects_50 = tests/timeformat_test/timeformat_test-main.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_timeformat_test_OBJECTS = $(am__objects_50) timeformat_test_OBJECTS = $(am_timeformat_test_OBJECTS) @ENABLE_TESTS_TRUE@timeformat_test_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(liblog4cplus_la_file) @@ -768,24 +784,23 @@ timeformat_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_49 = tests/timeformat_test/timeformat_testU-main.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_timeformat_testU_OBJECTS = $(am__objects_49) +@ENABLE_TESTS_TRUE@am__objects_51 = tests/timeformat_test/timeformat_testU-main.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_timeformat_testU_OBJECTS = $(am__objects_51) timeformat_testU_OBJECTS = $(am_timeformat_testU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_DEPENDENCIES = $(liblog4cplusU_la_file) timeformat_testU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) $(timeformat_testU_LDFLAGS) \ $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_50 = \ -@ENABLE_TESTS_TRUE@ tests/unit_tests/unit_tests.$(OBJEXT) -@ENABLE_TESTS_TRUE@am_unit_tests_OBJECTS = $(am__objects_50) +@ENABLE_TESTS_TRUE@am__objects_52 = tests/unit_tests/unit_tests-unit_tests.$(OBJEXT) +@ENABLE_TESTS_TRUE@am_unit_tests_OBJECTS = $(am__objects_52) unit_tests_OBJECTS = $(am_unit_tests_OBJECTS) @ENABLE_TESTS_TRUE@unit_tests_DEPENDENCIES = $(liblog4cplus_la_file) unit_tests_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(unit_tests_LDFLAGS) $(LDFLAGS) -o $@ -@ENABLE_TESTS_TRUE@am__objects_51 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_unit_testsU_OBJECTS = $(am__objects_51) +@ENABLE_TESTS_TRUE@am__objects_53 = tests/unit_tests/unit_testsU-unit_tests.$(OBJEXT) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@am_unit_testsU_OBJECTS = $(am__objects_53) unit_testsU_OBJECTS = $(am_unit_testsU_OBJECTS) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_DEPENDENCIES = $(liblog4cplusU_la_file) unit_testsU_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ @@ -932,43 +947,45 @@ am__depfiles_remade = $(top_builddir)/catch/extras/$(DEPDIR)/liblog4cplusU_la-ca src/$(DEPDIR)/liblog4cplus_la-version.Plo \ src/$(DEPDIR)/liblog4cplus_la-win32consoleappender.Plo \ src/$(DEPDIR)/liblog4cplus_la-win32debugappender.Plo \ + tests/appender_test/$(DEPDIR)/appender_test-main.Po \ tests/appender_test/$(DEPDIR)/appender_testU-main.Po \ - tests/appender_test/$(DEPDIR)/main.Po \ + tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po \ tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po \ - tests/configandwatch_test/$(DEPDIR)/main.Po \ + tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po \ + tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po \ tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po \ tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po \ - tests/customloglevel_test/$(DEPDIR)/func.Po \ - tests/customloglevel_test/$(DEPDIR)/main.Po \ + tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po \ tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Po \ - tests/fileappender_test/$(DEPDIR)/main.Po \ + tests/filter_test/$(DEPDIR)/filter_test-main.Po \ tests/filter_test/$(DEPDIR)/filter_testU-main.Po \ - tests/filter_test/$(DEPDIR)/main.Po \ + tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po \ tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Po \ - tests/hierarchy_test/$(DEPDIR)/main.Po \ + tests/loglog_test/$(DEPDIR)/loglog_test-main.Po \ tests/loglog_test/$(DEPDIR)/loglog_testU-main.Po \ - tests/loglog_test/$(DEPDIR)/main.Po \ - tests/ndc_test/$(DEPDIR)/main.Po \ + tests/ndc_test/$(DEPDIR)/ndc_test-main.Po \ tests/ndc_test/$(DEPDIR)/ndc_testU-main.Po \ - tests/ostream_test/$(DEPDIR)/main.Po \ + tests/ostream_test/$(DEPDIR)/ostream_test-main.Po \ tests/ostream_test/$(DEPDIR)/ostream_testU-main.Po \ - tests/patternlayout_test/$(DEPDIR)/main.Po \ + tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po \ tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Po \ - tests/performance_test/$(DEPDIR)/main.Po \ + tests/performance_test/$(DEPDIR)/performance_test-main.Po \ tests/performance_test/$(DEPDIR)/performance_testU-main.Po \ - tests/priority_test/$(DEPDIR)/func.Po \ - tests/priority_test/$(DEPDIR)/main.Po \ + tests/priority_test/$(DEPDIR)/priority_test-func.Po \ + tests/priority_test/$(DEPDIR)/priority_test-main.Po \ tests/priority_test/$(DEPDIR)/priority_testU-func.Po \ tests/priority_test/$(DEPDIR)/priority_testU-main.Po \ - tests/propertyconfig_test/$(DEPDIR)/main.Po \ + tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po \ tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Po \ - tests/socket_test/$(DEPDIR)/main.Po \ + tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po \ + tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po \ + tests/socket_test/$(DEPDIR)/socket_test-main.Po \ tests/socket_test/$(DEPDIR)/socket_testU-main.Po \ - tests/thread_test/$(DEPDIR)/main.Po \ + tests/thread_test/$(DEPDIR)/thread_test-main.Po \ tests/thread_test/$(DEPDIR)/thread_testU-main.Po \ - tests/timeformat_test/$(DEPDIR)/main.Po \ + tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po \ tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Po \ - tests/unit_tests/$(DEPDIR)/unit_tests.Po \ + tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po \ tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ @@ -1029,10 +1046,12 @@ SOURCES = $(_log4cplus_la_SOURCES) $(_log4cplusU_la_SOURCES) \ $(performance_test_SOURCES) $(performance_testU_SOURCES) \ $(priority_test_SOURCES) $(priority_testU_SOURCES) \ $(propertyconfig_test_SOURCES) $(propertyconfig_testU_SOURCES) \ - $(socket_test_SOURCES) $(socket_testU_SOURCES) \ - $(thread_test_SOURCES) $(thread_testU_SOURCES) \ - $(timeformat_test_SOURCES) $(timeformat_testU_SOURCES) \ - $(unit_tests_SOURCES) $(unit_testsU_SOURCES) + $(qt6messagehandler_test_SOURCES) \ + $(qt6messagehandler_testU_SOURCES) $(socket_test_SOURCES) \ + $(socket_testU_SOURCES) $(thread_test_SOURCES) \ + $(thread_testU_SOURCES) $(timeformat_test_SOURCES) \ + $(timeformat_testU_SOURCES) $(unit_tests_SOURCES) \ + $(unit_testsU_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ @@ -1188,6 +1207,7 @@ SWIG = @SWIG@ SWIG_FLAGS = @SWIG_FLAGS@ SWIG_LIB = @SWIG_LIB@ VERSION = @VERSION@ +WITH_QT6 = @WITH_QT6@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -1387,6 +1407,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@liblog4cplusqt5debugappenderU_la_LDFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT5_TRUE@ $(liblog4cplusqt5debugappender_la_ldflags) +@QT6_TRUE@liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) @QT6_TRUE@liblog4cplusqt6debugappender_la_cppflags = \ @QT6_TRUE@ $(AM_CPPFLAGS) \ @QT6_TRUE@ -DINSIDE_LOG4CPLUS_QT6DEBUGAPPENDER \ @@ -1396,27 +1417,28 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @QT6_TRUE@ $(liblog4cplusqt6debugappender_la_cppflags) @QT6_TRUE@liblog4cplusqt6debugappender_la_sources = \ +@QT6_TRUE@ qt6debugappender/qt6debugappender.cxx \ @QT6_TRUE@ $(INCLUDES_SRC_PATH)/qt6debugappender.h \ -@QT6_TRUE@ qt6debugappender/qt6debugappender.cxx +@QT6_TRUE@ $(INCLUDES_SRC_PATH)/qt6messagehandler.h @QT6_TRUE@liblog4cplusqt6debugappender_la_SOURCES = \ @QT6_TRUE@ $(liblog4cplusqt6debugappender_la_sources) -@QT6_TRUE@liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) @QT6_TRUE@liblog4cplusqt6debugappender_la_ldflags = -no-undefined \ @QT6_TRUE@ $(LOG4CPLUS_VERSION_LT_FLAGS) \ -@QT6_TRUE@ @QT6_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ +@QT6_TRUE@ @QT6_LIBS@ \ +@QT6_TRUE@ @LOG4CPLUS_PROFILING_LDFLAGS@ @QT6_TRUE@liblog4cplusqt6debugappender_la_LDFLAGS = \ @QT6_TRUE@ $(liblog4cplusqt6debugappender_la_ldflags) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_CPPFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_SOURCES = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_sources) -@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@liblog4cplusqt6debugappenderU_la_LDFLAGS = \ @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@QT6_TRUE@ $(liblog4cplusqt6debugappender_la_ldflags) @@ -1471,6 +1493,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/performance_test.at \ @ENABLE_TESTS_TRUE@ tests/priority_test.at \ @ENABLE_TESTS_TRUE@ tests/propertyconfig_test.at \ +@ENABLE_TESTS_TRUE@ tests/qt6messagehandler_test.at \ @ENABLE_TESTS_TRUE@ tests/testsuite.at \ @ENABLE_TESTS_TRUE@ tests/thread_test.at \ @ENABLE_TESTS_TRUE@ tests/timeformat_test.at \ @@ -1480,6 +1503,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/appender_test/main.cxx @ENABLE_TESTS_TRUE@appender_test_SOURCES = $(appender_test_sources) +@ENABLE_TESTS_TRUE@appender_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@appender_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@appender_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@appender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1490,6 +1514,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ tests/configandwatch_test/main.cxx @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_SOURCES = $(configandwatch_test_sources) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@configandwatch_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1501,6 +1526,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/customloglevel_test/main.cxx @ENABLE_TESTS_TRUE@customloglevel_test_SOURCES = $(customloglevel_test_sources) +@ENABLE_TESTS_TRUE@customloglevel_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@customloglevel_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@customloglevel_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@customloglevel_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1511,6 +1537,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/fileappender_test/main.cxx @ENABLE_TESTS_TRUE@fileappender_test_SOURCES = $(fileappender_test_sources) +@ENABLE_TESTS_TRUE@fileappender_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@fileappender_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@fileappender_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@fileappender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1521,6 +1548,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/filter_test/main.cxx @ENABLE_TESTS_TRUE@filter_test_SOURCES = $(filter_test_sources) +@ENABLE_TESTS_TRUE@filter_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@filter_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@filter_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@filter_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1531,6 +1559,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/hierarchy_test/main.cxx @ENABLE_TESTS_TRUE@hierarchy_test_SOURCES = $(hierarchy_test_sources) +@ENABLE_TESTS_TRUE@hierarchy_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@hierarchy_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@hierarchy_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@hierarchy_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1541,6 +1570,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/loglog_test/main.cxx @ENABLE_TESTS_TRUE@loglog_test_SOURCES = $(loglog_test_sources) +@ENABLE_TESTS_TRUE@loglog_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@loglog_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@loglog_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@loglog_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1551,6 +1581,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/ndc_test/main.cxx @ENABLE_TESTS_TRUE@ndc_test_SOURCES = $(ndc_test_sources) +@ENABLE_TESTS_TRUE@ndc_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@ndc_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@ndc_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ndc_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1561,6 +1592,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/ostream_test/main.cxx @ENABLE_TESTS_TRUE@ostream_test_SOURCES = $(ostream_test_sources) +@ENABLE_TESTS_TRUE@ostream_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@ostream_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@ostream_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@ostream_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1571,6 +1603,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/patternlayout_test/main.cxx @ENABLE_TESTS_TRUE@patternlayout_test_SOURCES = $(patternlayout_test_sources) +@ENABLE_TESTS_TRUE@patternlayout_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@patternlayout_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@patternlayout_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@patternlayout_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1581,6 +1614,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/performance_test/main.cxx @ENABLE_TESTS_TRUE@performance_test_SOURCES = $(performance_test_sources) +@ENABLE_TESTS_TRUE@performance_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@performance_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@performance_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@performance_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1592,6 +1626,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/priority_test/main.cxx @ENABLE_TESTS_TRUE@priority_test_SOURCES = $(priority_test_sources) +@ENABLE_TESTS_TRUE@priority_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@priority_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@priority_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@priority_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1602,16 +1637,44 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/propertyconfig_test/main.cxx @ENABLE_TESTS_TRUE@propertyconfig_test_SOURCES = $(propertyconfig_test_sources) +@ENABLE_TESTS_TRUE@propertyconfig_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@propertyconfig_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@propertyconfig_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_SOURCES = $(propertyconfig_test_sources) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_LDADD = $(liblog4cplusU_la_file) @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@propertyconfig_testU_LDFLAGS = -no-install +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_sources = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ tests/qt6messagehandler_test/main.cxx + +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_SOURCES = $(qt6messagehandler_test_sources) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_CPPFLAGS = $(AM_CPPFLAGS) \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(qt6messagehandler_test_cppflags) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_LDADD = $(liblog4cplus_la_file) \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(top_builddir)/liblog4cplusqt6debugappender.la +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_LDFLAGS = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ -no-install \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(qt6messagehandler_test_ldflags) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_testU_CPPFLAGS = $(AM_CPPFLAGS) \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ -DUNICODE=1 \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ -D_UNICODE=1 \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(qt6messagehandler_test_cppflags) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_testU_SOURCES = $(qt6messagehandler_test_sources) +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_testU_LDADD = $(liblog4cplusU_la_file) \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(top_builddir)/liblog4cplusqt6debugappenderU.la +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_testU_LDFLAGS = -no-install \ +@BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ $(qt6messagehandler_test_ldflags) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_cppflags = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ @QT6_CFLAGS@ + +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@qt6messagehandler_test_ldflags = \ +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@@QT6_TRUE@ @QT6_LIBS@ + @ENABLE_TESTS_TRUE@socket_test_sources = \ @ENABLE_TESTS_TRUE@ tests/socket_test/main.cxx @ENABLE_TESTS_TRUE@socket_test_SOURCES = $(socket_test_sources) +@ENABLE_TESTS_TRUE@socket_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@socket_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@socket_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@socket_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1622,6 +1685,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@ tests/thread_test/main.cxx @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_SOURCES = $(thread_test_sources) +@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@@MULTI_THREADED_TRUE@thread_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1632,6 +1696,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/timeformat_test/main.cxx @ENABLE_TESTS_TRUE@timeformat_test_SOURCES = $(timeformat_test_sources) +@ENABLE_TESTS_TRUE@timeformat_test_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@timeformat_test_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@timeformat_test_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@timeformat_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1642,6 +1707,7 @@ liblog4cplus_la_LDFLAGS = $(common_liblog4cplus_la_ldflags) @ENABLE_TESTS_TRUE@ tests/unit_tests/unit_tests.cxx @ENABLE_TESTS_TRUE@unit_tests_SOURCES = $(unit_tests_sources) +@ENABLE_TESTS_TRUE@unit_tests_CPPFLAGS = $(AM_CPPFLAGS) @ENABLE_TESTS_TRUE@unit_tests_LDADD = $(liblog4cplus_la_file) @ENABLE_TESTS_TRUE@unit_tests_LDFLAGS = -no-install @BUILD_WITH_WCHAR_T_SUPPORT_TRUE@@ENABLE_TESTS_TRUE@unit_testsU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 @@ -1655,7 +1721,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .cpp .cxx .lo .o .obj am--refresh: Makefile @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/qt6messagehandler_test/Makefile.am $(srcdir)/tests/qt6messagehandler_test/Makefile.am.inc $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -1677,7 +1743,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; -$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): +$(srcdir)/src/Makefile.am $(srcdir)/simpleserver/Makefile.am $(srcdir)/qt4debugappender/Makefile.am $(srcdir)/qt5debugappender/Makefile.am $(srcdir)/qt6debugappender/Makefile.am $(srcdir)/swig/Makefile.common.am $(srcdir)/swig/python/Makefile.am $(srcdir)/tests/Makefile.am $(srcdir)/tests/appender_test/Makefile.am $(srcdir)/tests/configandwatch_test/Makefile.am $(srcdir)/tests/customloglevel_test/Makefile.am $(srcdir)/tests/fileappender_test/Makefile.am $(srcdir)/tests/filter_test/Makefile.am $(srcdir)/tests/hierarchy_test/Makefile.am $(srcdir)/tests/loglog_test/Makefile.am $(srcdir)/tests/ndc_test/Makefile.am $(srcdir)/tests/ostream_test/Makefile.am $(srcdir)/tests/patternlayout_test/Makefile.am $(srcdir)/tests/performance_test/Makefile.am $(srcdir)/tests/priority_test/Makefile.am $(srcdir)/tests/propertyconfig_test/Makefile.am $(srcdir)/tests/qt6messagehandler_test/Makefile.am $(srcdir)/tests/qt6messagehandler_test/Makefile.am.inc $(srcdir)/tests/socket_test/Makefile.am $(srcdir)/tests/thread_test/Makefile.am $(srcdir)/tests/timeformat_test/Makefile.am $(srcdir)/tests/unit_tests/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -2112,7 +2178,7 @@ tests/appender_test/$(am__dirstamp): tests/appender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/appender_test/$(DEPDIR) @: >>tests/appender_test/$(DEPDIR)/$(am__dirstamp) -tests/appender_test/main.$(OBJEXT): \ +tests/appender_test/appender_test-main.$(OBJEXT): \ tests/appender_test/$(am__dirstamp) \ tests/appender_test/$(DEPDIR)/$(am__dirstamp) @@ -2132,7 +2198,7 @@ tests/configandwatch_test/$(am__dirstamp): tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/configandwatch_test/$(DEPDIR) @: >>tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) -tests/configandwatch_test/main.$(OBJEXT): \ +tests/configandwatch_test/configandwatch_test-main.$(OBJEXT): \ tests/configandwatch_test/$(am__dirstamp) \ tests/configandwatch_test/$(DEPDIR)/$(am__dirstamp) @@ -2152,10 +2218,10 @@ tests/customloglevel_test/$(am__dirstamp): tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/customloglevel_test/$(DEPDIR) @: >>tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) -tests/customloglevel_test/func.$(OBJEXT): \ +tests/customloglevel_test/customloglevel_test-func.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) -tests/customloglevel_test/main.$(OBJEXT): \ +tests/customloglevel_test/customloglevel_test-main.$(OBJEXT): \ tests/customloglevel_test/$(am__dirstamp) \ tests/customloglevel_test/$(DEPDIR)/$(am__dirstamp) @@ -2178,7 +2244,7 @@ tests/fileappender_test/$(am__dirstamp): tests/fileappender_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/fileappender_test/$(DEPDIR) @: >>tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) -tests/fileappender_test/main.$(OBJEXT): \ +tests/fileappender_test/fileappender_test-main.$(OBJEXT): \ tests/fileappender_test/$(am__dirstamp) \ tests/fileappender_test/$(DEPDIR)/$(am__dirstamp) @@ -2198,7 +2264,8 @@ tests/filter_test/$(am__dirstamp): tests/filter_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/filter_test/$(DEPDIR) @: >>tests/filter_test/$(DEPDIR)/$(am__dirstamp) -tests/filter_test/main.$(OBJEXT): tests/filter_test/$(am__dirstamp) \ +tests/filter_test/filter_test-main.$(OBJEXT): \ + tests/filter_test/$(am__dirstamp) \ tests/filter_test/$(DEPDIR)/$(am__dirstamp) filter_test$(EXEEXT): $(filter_test_OBJECTS) $(filter_test_DEPENDENCIES) $(EXTRA_filter_test_DEPENDENCIES) @@ -2217,7 +2284,7 @@ tests/hierarchy_test/$(am__dirstamp): tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/hierarchy_test/$(DEPDIR) @: >>tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) -tests/hierarchy_test/main.$(OBJEXT): \ +tests/hierarchy_test/hierarchy_test-main.$(OBJEXT): \ tests/hierarchy_test/$(am__dirstamp) \ tests/hierarchy_test/$(DEPDIR)/$(am__dirstamp) @@ -2256,7 +2323,8 @@ tests/loglog_test/$(am__dirstamp): tests/loglog_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/loglog_test/$(DEPDIR) @: >>tests/loglog_test/$(DEPDIR)/$(am__dirstamp) -tests/loglog_test/main.$(OBJEXT): tests/loglog_test/$(am__dirstamp) \ +tests/loglog_test/loglog_test-main.$(OBJEXT): \ + tests/loglog_test/$(am__dirstamp) \ tests/loglog_test/$(DEPDIR)/$(am__dirstamp) loglog_test$(EXEEXT): $(loglog_test_OBJECTS) $(loglog_test_DEPENDENCIES) $(EXTRA_loglog_test_DEPENDENCIES) @@ -2275,7 +2343,8 @@ tests/ndc_test/$(am__dirstamp): tests/ndc_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ndc_test/$(DEPDIR) @: >>tests/ndc_test/$(DEPDIR)/$(am__dirstamp) -tests/ndc_test/main.$(OBJEXT): tests/ndc_test/$(am__dirstamp) \ +tests/ndc_test/ndc_test-main.$(OBJEXT): \ + tests/ndc_test/$(am__dirstamp) \ tests/ndc_test/$(DEPDIR)/$(am__dirstamp) ndc_test$(EXEEXT): $(ndc_test_OBJECTS) $(ndc_test_DEPENDENCIES) $(EXTRA_ndc_test_DEPENDENCIES) @@ -2294,7 +2363,8 @@ tests/ostream_test/$(am__dirstamp): tests/ostream_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/ostream_test/$(DEPDIR) @: >>tests/ostream_test/$(DEPDIR)/$(am__dirstamp) -tests/ostream_test/main.$(OBJEXT): tests/ostream_test/$(am__dirstamp) \ +tests/ostream_test/ostream_test-main.$(OBJEXT): \ + tests/ostream_test/$(am__dirstamp) \ tests/ostream_test/$(DEPDIR)/$(am__dirstamp) ostream_test$(EXEEXT): $(ostream_test_OBJECTS) $(ostream_test_DEPENDENCIES) $(EXTRA_ostream_test_DEPENDENCIES) @@ -2313,7 +2383,7 @@ tests/patternlayout_test/$(am__dirstamp): tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/patternlayout_test/$(DEPDIR) @: >>tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) -tests/patternlayout_test/main.$(OBJEXT): \ +tests/patternlayout_test/patternlayout_test-main.$(OBJEXT): \ tests/patternlayout_test/$(am__dirstamp) \ tests/patternlayout_test/$(DEPDIR)/$(am__dirstamp) @@ -2333,7 +2403,7 @@ tests/performance_test/$(am__dirstamp): tests/performance_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/performance_test/$(DEPDIR) @: >>tests/performance_test/$(DEPDIR)/$(am__dirstamp) -tests/performance_test/main.$(OBJEXT): \ +tests/performance_test/performance_test-main.$(OBJEXT): \ tests/performance_test/$(am__dirstamp) \ tests/performance_test/$(DEPDIR)/$(am__dirstamp) @@ -2353,10 +2423,10 @@ tests/priority_test/$(am__dirstamp): tests/priority_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/priority_test/$(DEPDIR) @: >>tests/priority_test/$(DEPDIR)/$(am__dirstamp) -tests/priority_test/func.$(OBJEXT): \ +tests/priority_test/priority_test-func.$(OBJEXT): \ tests/priority_test/$(am__dirstamp) \ tests/priority_test/$(DEPDIR)/$(am__dirstamp) -tests/priority_test/main.$(OBJEXT): \ +tests/priority_test/priority_test-main.$(OBJEXT): \ tests/priority_test/$(am__dirstamp) \ tests/priority_test/$(DEPDIR)/$(am__dirstamp) @@ -2379,7 +2449,7 @@ tests/propertyconfig_test/$(am__dirstamp): tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/propertyconfig_test/$(DEPDIR) @: >>tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) -tests/propertyconfig_test/main.$(OBJEXT): \ +tests/propertyconfig_test/propertyconfig_test-main.$(OBJEXT): \ tests/propertyconfig_test/$(am__dirstamp) \ tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) @@ -2393,13 +2463,34 @@ tests/propertyconfig_test/propertyconfig_testU-main.$(OBJEXT): \ propertyconfig_testU$(EXEEXT): $(propertyconfig_testU_OBJECTS) $(propertyconfig_testU_DEPENDENCIES) $(EXTRA_propertyconfig_testU_DEPENDENCIES) @rm -f propertyconfig_testU$(EXEEXT) $(AM_V_CXXLD)$(propertyconfig_testU_LINK) $(propertyconfig_testU_OBJECTS) $(propertyconfig_testU_LDADD) $(LIBS) +tests/qt6messagehandler_test/$(am__dirstamp): + @$(MKDIR_P) tests/qt6messagehandler_test + @: >>tests/qt6messagehandler_test/$(am__dirstamp) +tests/qt6messagehandler_test/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) tests/qt6messagehandler_test/$(DEPDIR) + @: >>tests/qt6messagehandler_test/$(DEPDIR)/$(am__dirstamp) +tests/qt6messagehandler_test/qt6messagehandler_test-main.$(OBJEXT): \ + tests/qt6messagehandler_test/$(am__dirstamp) \ + tests/qt6messagehandler_test/$(DEPDIR)/$(am__dirstamp) + +qt6messagehandler_test$(EXEEXT): $(qt6messagehandler_test_OBJECTS) $(qt6messagehandler_test_DEPENDENCIES) $(EXTRA_qt6messagehandler_test_DEPENDENCIES) + @rm -f qt6messagehandler_test$(EXEEXT) + $(AM_V_CXXLD)$(qt6messagehandler_test_LINK) $(qt6messagehandler_test_OBJECTS) $(qt6messagehandler_test_LDADD) $(LIBS) +tests/qt6messagehandler_test/qt6messagehandler_testU-main.$(OBJEXT): \ + tests/qt6messagehandler_test/$(am__dirstamp) \ + tests/qt6messagehandler_test/$(DEPDIR)/$(am__dirstamp) + +qt6messagehandler_testU$(EXEEXT): $(qt6messagehandler_testU_OBJECTS) $(qt6messagehandler_testU_DEPENDENCIES) $(EXTRA_qt6messagehandler_testU_DEPENDENCIES) + @rm -f qt6messagehandler_testU$(EXEEXT) + $(AM_V_CXXLD)$(qt6messagehandler_testU_LINK) $(qt6messagehandler_testU_OBJECTS) $(qt6messagehandler_testU_LDADD) $(LIBS) tests/socket_test/$(am__dirstamp): @$(MKDIR_P) tests/socket_test @: >>tests/socket_test/$(am__dirstamp) tests/socket_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/socket_test/$(DEPDIR) @: >>tests/socket_test/$(DEPDIR)/$(am__dirstamp) -tests/socket_test/main.$(OBJEXT): tests/socket_test/$(am__dirstamp) \ +tests/socket_test/socket_test-main.$(OBJEXT): \ + tests/socket_test/$(am__dirstamp) \ tests/socket_test/$(DEPDIR)/$(am__dirstamp) socket_test$(EXEEXT): $(socket_test_OBJECTS) $(socket_test_DEPENDENCIES) $(EXTRA_socket_test_DEPENDENCIES) @@ -2418,7 +2509,8 @@ tests/thread_test/$(am__dirstamp): tests/thread_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/thread_test/$(DEPDIR) @: >>tests/thread_test/$(DEPDIR)/$(am__dirstamp) -tests/thread_test/main.$(OBJEXT): tests/thread_test/$(am__dirstamp) \ +tests/thread_test/thread_test-main.$(OBJEXT): \ + tests/thread_test/$(am__dirstamp) \ tests/thread_test/$(DEPDIR)/$(am__dirstamp) thread_test$(EXEEXT): $(thread_test_OBJECTS) $(thread_test_DEPENDENCIES) $(EXTRA_thread_test_DEPENDENCIES) @@ -2437,7 +2529,7 @@ tests/timeformat_test/$(am__dirstamp): tests/timeformat_test/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/timeformat_test/$(DEPDIR) @: >>tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) -tests/timeformat_test/main.$(OBJEXT): \ +tests/timeformat_test/timeformat_test-main.$(OBJEXT): \ tests/timeformat_test/$(am__dirstamp) \ tests/timeformat_test/$(DEPDIR)/$(am__dirstamp) @@ -2457,7 +2549,7 @@ tests/unit_tests/$(am__dirstamp): tests/unit_tests/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/unit_tests/$(DEPDIR) @: >>tests/unit_tests/$(DEPDIR)/$(am__dirstamp) -tests/unit_tests/unit_tests.$(OBJEXT): \ +tests/unit_tests/unit_tests-unit_tests.$(OBJEXT): \ tests/unit_tests/$(am__dirstamp) \ tests/unit_tests/$(DEPDIR)/$(am__dirstamp) @@ -2498,6 +2590,7 @@ mostlyclean-compile: -rm -f tests/performance_test/*.$(OBJEXT) -rm -f tests/priority_test/*.$(OBJEXT) -rm -f tests/propertyconfig_test/*.$(OBJEXT) + -rm -f tests/qt6messagehandler_test/*.$(OBJEXT) -rm -f tests/socket_test/*.$(OBJEXT) -rm -f tests/thread_test/*.$(OBJEXT) -rm -f tests/timeformat_test/*.$(OBJEXT) @@ -2632,43 +2725,45 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-version.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-win32consoleappender.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/liblog4cplus_la-win32debugappender.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/appender_test/$(DEPDIR)/appender_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/appender_test/$(DEPDIR)/appender_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/appender_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/configandwatch_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/func.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/customloglevel_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/fileappender_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/filter_test/$(DEPDIR)/filter_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/filter_test/$(DEPDIR)/filter_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/filter_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/hierarchy_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/loglog_test/$(DEPDIR)/loglog_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/loglog_test/$(DEPDIR)/loglog_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/loglog_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/ndc_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/ndc_test/$(DEPDIR)/ndc_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/ndc_test/$(DEPDIR)/ndc_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/ostream_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/ostream_test/$(DEPDIR)/ostream_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/ostream_test/$(DEPDIR)/ostream_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/patternlayout_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/performance_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/performance_test/$(DEPDIR)/performance_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/performance_test/$(DEPDIR)/performance_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/func.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/priority_test-func.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/priority_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/priority_testU-func.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/priority_test/$(DEPDIR)/priority_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/propertyconfig_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/socket_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/socket_test/$(DEPDIR)/socket_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/socket_test/$(DEPDIR)/socket_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/thread_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/thread_test/$(DEPDIR)/thread_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/thread_test/$(DEPDIR)/thread_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/timeformat_test/$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@tests/unit_tests/$(DEPDIR)/unit_tests.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -3569,6 +3664,20 @@ qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo: qt6debuga @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblog4cplusqt6debugappenderU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt6debugappender/liblog4cplusqt6debugappenderU_la-qt6debugappender.lo `test -f 'qt6debugappender/qt6debugappender.cxx' || echo '$(srcdir)/'`qt6debugappender/qt6debugappender.cxx +tests/appender_test/appender_test-main.o: tests/appender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/appender_test/appender_test-main.o -MD -MP -MF tests/appender_test/$(DEPDIR)/appender_test-main.Tpo -c -o tests/appender_test/appender_test-main.o `test -f 'tests/appender_test/main.cxx' || echo '$(srcdir)/'`tests/appender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/appender_test/$(DEPDIR)/appender_test-main.Tpo tests/appender_test/$(DEPDIR)/appender_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/appender_test/main.cxx' object='tests/appender_test/appender_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/appender_test/appender_test-main.o `test -f 'tests/appender_test/main.cxx' || echo '$(srcdir)/'`tests/appender_test/main.cxx + +tests/appender_test/appender_test-main.obj: tests/appender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/appender_test/appender_test-main.obj -MD -MP -MF tests/appender_test/$(DEPDIR)/appender_test-main.Tpo -c -o tests/appender_test/appender_test-main.obj `if test -f 'tests/appender_test/main.cxx'; then $(CYGPATH_W) 'tests/appender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/appender_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/appender_test/$(DEPDIR)/appender_test-main.Tpo tests/appender_test/$(DEPDIR)/appender_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/appender_test/main.cxx' object='tests/appender_test/appender_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/appender_test/appender_test-main.obj `if test -f 'tests/appender_test/main.cxx'; then $(CYGPATH_W) 'tests/appender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/appender_test/main.cxx'; fi` + tests/appender_test/appender_testU-main.o: tests/appender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/appender_test/appender_testU-main.o -MD -MP -MF tests/appender_test/$(DEPDIR)/appender_testU-main.Tpo -c -o tests/appender_test/appender_testU-main.o `test -f 'tests/appender_test/main.cxx' || echo '$(srcdir)/'`tests/appender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/appender_test/$(DEPDIR)/appender_testU-main.Tpo tests/appender_test/$(DEPDIR)/appender_testU-main.Po @@ -3583,6 +3692,20 @@ tests/appender_test/appender_testU-main.obj: tests/appender_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(appender_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/appender_test/appender_testU-main.obj `if test -f 'tests/appender_test/main.cxx'; then $(CYGPATH_W) 'tests/appender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/appender_test/main.cxx'; fi` +tests/configandwatch_test/configandwatch_test-main.o: tests/configandwatch_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/configandwatch_test/configandwatch_test-main.o -MD -MP -MF tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Tpo -c -o tests/configandwatch_test/configandwatch_test-main.o `test -f 'tests/configandwatch_test/main.cxx' || echo '$(srcdir)/'`tests/configandwatch_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Tpo tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/configandwatch_test/main.cxx' object='tests/configandwatch_test/configandwatch_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/configandwatch_test/configandwatch_test-main.o `test -f 'tests/configandwatch_test/main.cxx' || echo '$(srcdir)/'`tests/configandwatch_test/main.cxx + +tests/configandwatch_test/configandwatch_test-main.obj: tests/configandwatch_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/configandwatch_test/configandwatch_test-main.obj -MD -MP -MF tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Tpo -c -o tests/configandwatch_test/configandwatch_test-main.obj `if test -f 'tests/configandwatch_test/main.cxx'; then $(CYGPATH_W) 'tests/configandwatch_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/configandwatch_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Tpo tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/configandwatch_test/main.cxx' object='tests/configandwatch_test/configandwatch_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/configandwatch_test/configandwatch_test-main.obj `if test -f 'tests/configandwatch_test/main.cxx'; then $(CYGPATH_W) 'tests/configandwatch_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/configandwatch_test/main.cxx'; fi` + tests/configandwatch_test/configandwatch_testU-main.o: tests/configandwatch_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/configandwatch_test/configandwatch_testU-main.o -MD -MP -MF tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Tpo -c -o tests/configandwatch_test/configandwatch_testU-main.o `test -f 'tests/configandwatch_test/main.cxx' || echo '$(srcdir)/'`tests/configandwatch_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Tpo tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po @@ -3597,6 +3720,34 @@ tests/configandwatch_test/configandwatch_testU-main.obj: tests/configandwatch_te @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(configandwatch_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/configandwatch_test/configandwatch_testU-main.obj `if test -f 'tests/configandwatch_test/main.cxx'; then $(CYGPATH_W) 'tests/configandwatch_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/configandwatch_test/main.cxx'; fi` +tests/customloglevel_test/customloglevel_test-func.o: tests/customloglevel_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_test-func.o -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Tpo -c -o tests/customloglevel_test/customloglevel_test-func.o `test -f 'tests/customloglevel_test/func.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/func.cxx' object='tests/customloglevel_test/customloglevel_test-func.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_test-func.o `test -f 'tests/customloglevel_test/func.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/func.cxx + +tests/customloglevel_test/customloglevel_test-func.obj: tests/customloglevel_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_test-func.obj -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Tpo -c -o tests/customloglevel_test/customloglevel_test-func.obj `if test -f 'tests/customloglevel_test/func.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/func.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/func.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/func.cxx' object='tests/customloglevel_test/customloglevel_test-func.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_test-func.obj `if test -f 'tests/customloglevel_test/func.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/func.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/func.cxx'; fi` + +tests/customloglevel_test/customloglevel_test-main.o: tests/customloglevel_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_test-main.o -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Tpo -c -o tests/customloglevel_test/customloglevel_test-main.o `test -f 'tests/customloglevel_test/main.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/main.cxx' object='tests/customloglevel_test/customloglevel_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_test-main.o `test -f 'tests/customloglevel_test/main.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/main.cxx + +tests/customloglevel_test/customloglevel_test-main.obj: tests/customloglevel_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_test-main.obj -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Tpo -c -o tests/customloglevel_test/customloglevel_test-main.obj `if test -f 'tests/customloglevel_test/main.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/customloglevel_test/main.cxx' object='tests/customloglevel_test/customloglevel_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_test-main.obj `if test -f 'tests/customloglevel_test/main.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/main.cxx'; fi` + tests/customloglevel_test/customloglevel_testU-func.o: tests/customloglevel_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/customloglevel_test/customloglevel_testU-func.o -MD -MP -MF tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Tpo -c -o tests/customloglevel_test/customloglevel_testU-func.o `test -f 'tests/customloglevel_test/func.cxx' || echo '$(srcdir)/'`tests/customloglevel_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Tpo tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po @@ -3625,6 +3776,20 @@ tests/customloglevel_test/customloglevel_testU-main.obj: tests/customloglevel_te @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(customloglevel_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/customloglevel_test/customloglevel_testU-main.obj `if test -f 'tests/customloglevel_test/main.cxx'; then $(CYGPATH_W) 'tests/customloglevel_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/customloglevel_test/main.cxx'; fi` +tests/fileappender_test/fileappender_test-main.o: tests/fileappender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/fileappender_test/fileappender_test-main.o -MD -MP -MF tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Tpo -c -o tests/fileappender_test/fileappender_test-main.o `test -f 'tests/fileappender_test/main.cxx' || echo '$(srcdir)/'`tests/fileappender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Tpo tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/fileappender_test/main.cxx' object='tests/fileappender_test/fileappender_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/fileappender_test/fileappender_test-main.o `test -f 'tests/fileappender_test/main.cxx' || echo '$(srcdir)/'`tests/fileappender_test/main.cxx + +tests/fileappender_test/fileappender_test-main.obj: tests/fileappender_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/fileappender_test/fileappender_test-main.obj -MD -MP -MF tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Tpo -c -o tests/fileappender_test/fileappender_test-main.obj `if test -f 'tests/fileappender_test/main.cxx'; then $(CYGPATH_W) 'tests/fileappender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/fileappender_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Tpo tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/fileappender_test/main.cxx' object='tests/fileappender_test/fileappender_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/fileappender_test/fileappender_test-main.obj `if test -f 'tests/fileappender_test/main.cxx'; then $(CYGPATH_W) 'tests/fileappender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/fileappender_test/main.cxx'; fi` + tests/fileappender_test/fileappender_testU-main.o: tests/fileappender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/fileappender_test/fileappender_testU-main.o -MD -MP -MF tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Tpo -c -o tests/fileappender_test/fileappender_testU-main.o `test -f 'tests/fileappender_test/main.cxx' || echo '$(srcdir)/'`tests/fileappender_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Tpo tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Po @@ -3639,6 +3804,20 @@ tests/fileappender_test/fileappender_testU-main.obj: tests/fileappender_test/mai @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fileappender_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/fileappender_test/fileappender_testU-main.obj `if test -f 'tests/fileappender_test/main.cxx'; then $(CYGPATH_W) 'tests/fileappender_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/fileappender_test/main.cxx'; fi` +tests/filter_test/filter_test-main.o: tests/filter_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/filter_test/filter_test-main.o -MD -MP -MF tests/filter_test/$(DEPDIR)/filter_test-main.Tpo -c -o tests/filter_test/filter_test-main.o `test -f 'tests/filter_test/main.cxx' || echo '$(srcdir)/'`tests/filter_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/filter_test/$(DEPDIR)/filter_test-main.Tpo tests/filter_test/$(DEPDIR)/filter_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/filter_test/main.cxx' object='tests/filter_test/filter_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/filter_test/filter_test-main.o `test -f 'tests/filter_test/main.cxx' || echo '$(srcdir)/'`tests/filter_test/main.cxx + +tests/filter_test/filter_test-main.obj: tests/filter_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/filter_test/filter_test-main.obj -MD -MP -MF tests/filter_test/$(DEPDIR)/filter_test-main.Tpo -c -o tests/filter_test/filter_test-main.obj `if test -f 'tests/filter_test/main.cxx'; then $(CYGPATH_W) 'tests/filter_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/filter_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/filter_test/$(DEPDIR)/filter_test-main.Tpo tests/filter_test/$(DEPDIR)/filter_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/filter_test/main.cxx' object='tests/filter_test/filter_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/filter_test/filter_test-main.obj `if test -f 'tests/filter_test/main.cxx'; then $(CYGPATH_W) 'tests/filter_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/filter_test/main.cxx'; fi` + tests/filter_test/filter_testU-main.o: tests/filter_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/filter_test/filter_testU-main.o -MD -MP -MF tests/filter_test/$(DEPDIR)/filter_testU-main.Tpo -c -o tests/filter_test/filter_testU-main.o `test -f 'tests/filter_test/main.cxx' || echo '$(srcdir)/'`tests/filter_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/filter_test/$(DEPDIR)/filter_testU-main.Tpo tests/filter_test/$(DEPDIR)/filter_testU-main.Po @@ -3653,6 +3832,20 @@ tests/filter_test/filter_testU-main.obj: tests/filter_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(filter_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/filter_test/filter_testU-main.obj `if test -f 'tests/filter_test/main.cxx'; then $(CYGPATH_W) 'tests/filter_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/filter_test/main.cxx'; fi` +tests/hierarchy_test/hierarchy_test-main.o: tests/hierarchy_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hierarchy_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/hierarchy_test/hierarchy_test-main.o -MD -MP -MF tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Tpo -c -o tests/hierarchy_test/hierarchy_test-main.o `test -f 'tests/hierarchy_test/main.cxx' || echo '$(srcdir)/'`tests/hierarchy_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Tpo tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/hierarchy_test/main.cxx' object='tests/hierarchy_test/hierarchy_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hierarchy_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/hierarchy_test/hierarchy_test-main.o `test -f 'tests/hierarchy_test/main.cxx' || echo '$(srcdir)/'`tests/hierarchy_test/main.cxx + +tests/hierarchy_test/hierarchy_test-main.obj: tests/hierarchy_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hierarchy_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/hierarchy_test/hierarchy_test-main.obj -MD -MP -MF tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Tpo -c -o tests/hierarchy_test/hierarchy_test-main.obj `if test -f 'tests/hierarchy_test/main.cxx'; then $(CYGPATH_W) 'tests/hierarchy_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/hierarchy_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Tpo tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/hierarchy_test/main.cxx' object='tests/hierarchy_test/hierarchy_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hierarchy_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/hierarchy_test/hierarchy_test-main.obj `if test -f 'tests/hierarchy_test/main.cxx'; then $(CYGPATH_W) 'tests/hierarchy_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/hierarchy_test/main.cxx'; fi` + tests/hierarchy_test/hierarchy_testU-main.o: tests/hierarchy_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hierarchy_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/hierarchy_test/hierarchy_testU-main.o -MD -MP -MF tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Tpo -c -o tests/hierarchy_test/hierarchy_testU-main.o `test -f 'tests/hierarchy_test/main.cxx' || echo '$(srcdir)/'`tests/hierarchy_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Tpo tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Po @@ -3681,6 +3874,20 @@ simpleserver/loggingserverU-loggingserver.obj: simpleserver/loggingserver.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loggingserverU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleserver/loggingserverU-loggingserver.obj `if test -f 'simpleserver/loggingserver.cxx'; then $(CYGPATH_W) 'simpleserver/loggingserver.cxx'; else $(CYGPATH_W) '$(srcdir)/simpleserver/loggingserver.cxx'; fi` +tests/loglog_test/loglog_test-main.o: tests/loglog_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/loglog_test/loglog_test-main.o -MD -MP -MF tests/loglog_test/$(DEPDIR)/loglog_test-main.Tpo -c -o tests/loglog_test/loglog_test-main.o `test -f 'tests/loglog_test/main.cxx' || echo '$(srcdir)/'`tests/loglog_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/loglog_test/$(DEPDIR)/loglog_test-main.Tpo tests/loglog_test/$(DEPDIR)/loglog_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/loglog_test/main.cxx' object='tests/loglog_test/loglog_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/loglog_test/loglog_test-main.o `test -f 'tests/loglog_test/main.cxx' || echo '$(srcdir)/'`tests/loglog_test/main.cxx + +tests/loglog_test/loglog_test-main.obj: tests/loglog_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/loglog_test/loglog_test-main.obj -MD -MP -MF tests/loglog_test/$(DEPDIR)/loglog_test-main.Tpo -c -o tests/loglog_test/loglog_test-main.obj `if test -f 'tests/loglog_test/main.cxx'; then $(CYGPATH_W) 'tests/loglog_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/loglog_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/loglog_test/$(DEPDIR)/loglog_test-main.Tpo tests/loglog_test/$(DEPDIR)/loglog_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/loglog_test/main.cxx' object='tests/loglog_test/loglog_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/loglog_test/loglog_test-main.obj `if test -f 'tests/loglog_test/main.cxx'; then $(CYGPATH_W) 'tests/loglog_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/loglog_test/main.cxx'; fi` + tests/loglog_test/loglog_testU-main.o: tests/loglog_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/loglog_test/loglog_testU-main.o -MD -MP -MF tests/loglog_test/$(DEPDIR)/loglog_testU-main.Tpo -c -o tests/loglog_test/loglog_testU-main.o `test -f 'tests/loglog_test/main.cxx' || echo '$(srcdir)/'`tests/loglog_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/loglog_test/$(DEPDIR)/loglog_testU-main.Tpo tests/loglog_test/$(DEPDIR)/loglog_testU-main.Po @@ -3695,6 +3902,20 @@ tests/loglog_test/loglog_testU-main.obj: tests/loglog_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loglog_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/loglog_test/loglog_testU-main.obj `if test -f 'tests/loglog_test/main.cxx'; then $(CYGPATH_W) 'tests/loglog_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/loglog_test/main.cxx'; fi` +tests/ndc_test/ndc_test-main.o: tests/ndc_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ndc_test/ndc_test-main.o -MD -MP -MF tests/ndc_test/$(DEPDIR)/ndc_test-main.Tpo -c -o tests/ndc_test/ndc_test-main.o `test -f 'tests/ndc_test/main.cxx' || echo '$(srcdir)/'`tests/ndc_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ndc_test/$(DEPDIR)/ndc_test-main.Tpo tests/ndc_test/$(DEPDIR)/ndc_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/ndc_test/main.cxx' object='tests/ndc_test/ndc_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ndc_test/ndc_test-main.o `test -f 'tests/ndc_test/main.cxx' || echo '$(srcdir)/'`tests/ndc_test/main.cxx + +tests/ndc_test/ndc_test-main.obj: tests/ndc_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ndc_test/ndc_test-main.obj -MD -MP -MF tests/ndc_test/$(DEPDIR)/ndc_test-main.Tpo -c -o tests/ndc_test/ndc_test-main.obj `if test -f 'tests/ndc_test/main.cxx'; then $(CYGPATH_W) 'tests/ndc_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ndc_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ndc_test/$(DEPDIR)/ndc_test-main.Tpo tests/ndc_test/$(DEPDIR)/ndc_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/ndc_test/main.cxx' object='tests/ndc_test/ndc_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ndc_test/ndc_test-main.obj `if test -f 'tests/ndc_test/main.cxx'; then $(CYGPATH_W) 'tests/ndc_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ndc_test/main.cxx'; fi` + tests/ndc_test/ndc_testU-main.o: tests/ndc_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ndc_test/ndc_testU-main.o -MD -MP -MF tests/ndc_test/$(DEPDIR)/ndc_testU-main.Tpo -c -o tests/ndc_test/ndc_testU-main.o `test -f 'tests/ndc_test/main.cxx' || echo '$(srcdir)/'`tests/ndc_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ndc_test/$(DEPDIR)/ndc_testU-main.Tpo tests/ndc_test/$(DEPDIR)/ndc_testU-main.Po @@ -3709,6 +3930,20 @@ tests/ndc_test/ndc_testU-main.obj: tests/ndc_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ndc_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ndc_test/ndc_testU-main.obj `if test -f 'tests/ndc_test/main.cxx'; then $(CYGPATH_W) 'tests/ndc_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ndc_test/main.cxx'; fi` +tests/ostream_test/ostream_test-main.o: tests/ostream_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ostream_test/ostream_test-main.o -MD -MP -MF tests/ostream_test/$(DEPDIR)/ostream_test-main.Tpo -c -o tests/ostream_test/ostream_test-main.o `test -f 'tests/ostream_test/main.cxx' || echo '$(srcdir)/'`tests/ostream_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ostream_test/$(DEPDIR)/ostream_test-main.Tpo tests/ostream_test/$(DEPDIR)/ostream_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/ostream_test/main.cxx' object='tests/ostream_test/ostream_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ostream_test/ostream_test-main.o `test -f 'tests/ostream_test/main.cxx' || echo '$(srcdir)/'`tests/ostream_test/main.cxx + +tests/ostream_test/ostream_test-main.obj: tests/ostream_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ostream_test/ostream_test-main.obj -MD -MP -MF tests/ostream_test/$(DEPDIR)/ostream_test-main.Tpo -c -o tests/ostream_test/ostream_test-main.obj `if test -f 'tests/ostream_test/main.cxx'; then $(CYGPATH_W) 'tests/ostream_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ostream_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ostream_test/$(DEPDIR)/ostream_test-main.Tpo tests/ostream_test/$(DEPDIR)/ostream_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/ostream_test/main.cxx' object='tests/ostream_test/ostream_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ostream_test/ostream_test-main.obj `if test -f 'tests/ostream_test/main.cxx'; then $(CYGPATH_W) 'tests/ostream_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ostream_test/main.cxx'; fi` + tests/ostream_test/ostream_testU-main.o: tests/ostream_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/ostream_test/ostream_testU-main.o -MD -MP -MF tests/ostream_test/$(DEPDIR)/ostream_testU-main.Tpo -c -o tests/ostream_test/ostream_testU-main.o `test -f 'tests/ostream_test/main.cxx' || echo '$(srcdir)/'`tests/ostream_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/ostream_test/$(DEPDIR)/ostream_testU-main.Tpo tests/ostream_test/$(DEPDIR)/ostream_testU-main.Po @@ -3723,6 +3958,20 @@ tests/ostream_test/ostream_testU-main.obj: tests/ostream_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ostream_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/ostream_test/ostream_testU-main.obj `if test -f 'tests/ostream_test/main.cxx'; then $(CYGPATH_W) 'tests/ostream_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/ostream_test/main.cxx'; fi` +tests/patternlayout_test/patternlayout_test-main.o: tests/patternlayout_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/patternlayout_test/patternlayout_test-main.o -MD -MP -MF tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Tpo -c -o tests/patternlayout_test/patternlayout_test-main.o `test -f 'tests/patternlayout_test/main.cxx' || echo '$(srcdir)/'`tests/patternlayout_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Tpo tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/patternlayout_test/main.cxx' object='tests/patternlayout_test/patternlayout_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/patternlayout_test/patternlayout_test-main.o `test -f 'tests/patternlayout_test/main.cxx' || echo '$(srcdir)/'`tests/patternlayout_test/main.cxx + +tests/patternlayout_test/patternlayout_test-main.obj: tests/patternlayout_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/patternlayout_test/patternlayout_test-main.obj -MD -MP -MF tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Tpo -c -o tests/patternlayout_test/patternlayout_test-main.obj `if test -f 'tests/patternlayout_test/main.cxx'; then $(CYGPATH_W) 'tests/patternlayout_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/patternlayout_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Tpo tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/patternlayout_test/main.cxx' object='tests/patternlayout_test/patternlayout_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/patternlayout_test/patternlayout_test-main.obj `if test -f 'tests/patternlayout_test/main.cxx'; then $(CYGPATH_W) 'tests/patternlayout_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/patternlayout_test/main.cxx'; fi` + tests/patternlayout_test/patternlayout_testU-main.o: tests/patternlayout_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/patternlayout_test/patternlayout_testU-main.o -MD -MP -MF tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Tpo -c -o tests/patternlayout_test/patternlayout_testU-main.o `test -f 'tests/patternlayout_test/main.cxx' || echo '$(srcdir)/'`tests/patternlayout_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Tpo tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Po @@ -3737,6 +3986,20 @@ tests/patternlayout_test/patternlayout_testU-main.obj: tests/patternlayout_test/ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(patternlayout_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/patternlayout_test/patternlayout_testU-main.obj `if test -f 'tests/patternlayout_test/main.cxx'; then $(CYGPATH_W) 'tests/patternlayout_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/patternlayout_test/main.cxx'; fi` +tests/performance_test/performance_test-main.o: tests/performance_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/performance_test/performance_test-main.o -MD -MP -MF tests/performance_test/$(DEPDIR)/performance_test-main.Tpo -c -o tests/performance_test/performance_test-main.o `test -f 'tests/performance_test/main.cxx' || echo '$(srcdir)/'`tests/performance_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/performance_test/$(DEPDIR)/performance_test-main.Tpo tests/performance_test/$(DEPDIR)/performance_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/performance_test/main.cxx' object='tests/performance_test/performance_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/performance_test/performance_test-main.o `test -f 'tests/performance_test/main.cxx' || echo '$(srcdir)/'`tests/performance_test/main.cxx + +tests/performance_test/performance_test-main.obj: tests/performance_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/performance_test/performance_test-main.obj -MD -MP -MF tests/performance_test/$(DEPDIR)/performance_test-main.Tpo -c -o tests/performance_test/performance_test-main.obj `if test -f 'tests/performance_test/main.cxx'; then $(CYGPATH_W) 'tests/performance_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/performance_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/performance_test/$(DEPDIR)/performance_test-main.Tpo tests/performance_test/$(DEPDIR)/performance_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/performance_test/main.cxx' object='tests/performance_test/performance_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/performance_test/performance_test-main.obj `if test -f 'tests/performance_test/main.cxx'; then $(CYGPATH_W) 'tests/performance_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/performance_test/main.cxx'; fi` + tests/performance_test/performance_testU-main.o: tests/performance_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/performance_test/performance_testU-main.o -MD -MP -MF tests/performance_test/$(DEPDIR)/performance_testU-main.Tpo -c -o tests/performance_test/performance_testU-main.o `test -f 'tests/performance_test/main.cxx' || echo '$(srcdir)/'`tests/performance_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/performance_test/$(DEPDIR)/performance_testU-main.Tpo tests/performance_test/$(DEPDIR)/performance_testU-main.Po @@ -3751,6 +4014,34 @@ tests/performance_test/performance_testU-main.obj: tests/performance_test/main.c @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(performance_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/performance_test/performance_testU-main.obj `if test -f 'tests/performance_test/main.cxx'; then $(CYGPATH_W) 'tests/performance_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/performance_test/main.cxx'; fi` +tests/priority_test/priority_test-func.o: tests/priority_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/priority_test/priority_test-func.o -MD -MP -MF tests/priority_test/$(DEPDIR)/priority_test-func.Tpo -c -o tests/priority_test/priority_test-func.o `test -f 'tests/priority_test/func.cxx' || echo '$(srcdir)/'`tests/priority_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/priority_test/$(DEPDIR)/priority_test-func.Tpo tests/priority_test/$(DEPDIR)/priority_test-func.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/priority_test/func.cxx' object='tests/priority_test/priority_test-func.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/priority_test/priority_test-func.o `test -f 'tests/priority_test/func.cxx' || echo '$(srcdir)/'`tests/priority_test/func.cxx + +tests/priority_test/priority_test-func.obj: tests/priority_test/func.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/priority_test/priority_test-func.obj -MD -MP -MF tests/priority_test/$(DEPDIR)/priority_test-func.Tpo -c -o tests/priority_test/priority_test-func.obj `if test -f 'tests/priority_test/func.cxx'; then $(CYGPATH_W) 'tests/priority_test/func.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/priority_test/func.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/priority_test/$(DEPDIR)/priority_test-func.Tpo tests/priority_test/$(DEPDIR)/priority_test-func.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/priority_test/func.cxx' object='tests/priority_test/priority_test-func.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/priority_test/priority_test-func.obj `if test -f 'tests/priority_test/func.cxx'; then $(CYGPATH_W) 'tests/priority_test/func.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/priority_test/func.cxx'; fi` + +tests/priority_test/priority_test-main.o: tests/priority_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/priority_test/priority_test-main.o -MD -MP -MF tests/priority_test/$(DEPDIR)/priority_test-main.Tpo -c -o tests/priority_test/priority_test-main.o `test -f 'tests/priority_test/main.cxx' || echo '$(srcdir)/'`tests/priority_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/priority_test/$(DEPDIR)/priority_test-main.Tpo tests/priority_test/$(DEPDIR)/priority_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/priority_test/main.cxx' object='tests/priority_test/priority_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/priority_test/priority_test-main.o `test -f 'tests/priority_test/main.cxx' || echo '$(srcdir)/'`tests/priority_test/main.cxx + +tests/priority_test/priority_test-main.obj: tests/priority_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/priority_test/priority_test-main.obj -MD -MP -MF tests/priority_test/$(DEPDIR)/priority_test-main.Tpo -c -o tests/priority_test/priority_test-main.obj `if test -f 'tests/priority_test/main.cxx'; then $(CYGPATH_W) 'tests/priority_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/priority_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/priority_test/$(DEPDIR)/priority_test-main.Tpo tests/priority_test/$(DEPDIR)/priority_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/priority_test/main.cxx' object='tests/priority_test/priority_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/priority_test/priority_test-main.obj `if test -f 'tests/priority_test/main.cxx'; then $(CYGPATH_W) 'tests/priority_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/priority_test/main.cxx'; fi` + tests/priority_test/priority_testU-func.o: tests/priority_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/priority_test/priority_testU-func.o -MD -MP -MF tests/priority_test/$(DEPDIR)/priority_testU-func.Tpo -c -o tests/priority_test/priority_testU-func.o `test -f 'tests/priority_test/func.cxx' || echo '$(srcdir)/'`tests/priority_test/func.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/priority_test/$(DEPDIR)/priority_testU-func.Tpo tests/priority_test/$(DEPDIR)/priority_testU-func.Po @@ -3779,6 +4070,20 @@ tests/priority_test/priority_testU-main.obj: tests/priority_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(priority_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/priority_test/priority_testU-main.obj `if test -f 'tests/priority_test/main.cxx'; then $(CYGPATH_W) 'tests/priority_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/priority_test/main.cxx'; fi` +tests/propertyconfig_test/propertyconfig_test-main.o: tests/propertyconfig_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/propertyconfig_test/propertyconfig_test-main.o -MD -MP -MF tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Tpo -c -o tests/propertyconfig_test/propertyconfig_test-main.o `test -f 'tests/propertyconfig_test/main.cxx' || echo '$(srcdir)/'`tests/propertyconfig_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Tpo tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/propertyconfig_test/main.cxx' object='tests/propertyconfig_test/propertyconfig_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/propertyconfig_test/propertyconfig_test-main.o `test -f 'tests/propertyconfig_test/main.cxx' || echo '$(srcdir)/'`tests/propertyconfig_test/main.cxx + +tests/propertyconfig_test/propertyconfig_test-main.obj: tests/propertyconfig_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/propertyconfig_test/propertyconfig_test-main.obj -MD -MP -MF tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Tpo -c -o tests/propertyconfig_test/propertyconfig_test-main.obj `if test -f 'tests/propertyconfig_test/main.cxx'; then $(CYGPATH_W) 'tests/propertyconfig_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/propertyconfig_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Tpo tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/propertyconfig_test/main.cxx' object='tests/propertyconfig_test/propertyconfig_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/propertyconfig_test/propertyconfig_test-main.obj `if test -f 'tests/propertyconfig_test/main.cxx'; then $(CYGPATH_W) 'tests/propertyconfig_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/propertyconfig_test/main.cxx'; fi` + tests/propertyconfig_test/propertyconfig_testU-main.o: tests/propertyconfig_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/propertyconfig_test/propertyconfig_testU-main.o -MD -MP -MF tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Tpo -c -o tests/propertyconfig_test/propertyconfig_testU-main.o `test -f 'tests/propertyconfig_test/main.cxx' || echo '$(srcdir)/'`tests/propertyconfig_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Tpo tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Po @@ -3793,6 +4098,48 @@ tests/propertyconfig_test/propertyconfig_testU-main.obj: tests/propertyconfig_te @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(propertyconfig_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/propertyconfig_test/propertyconfig_testU-main.obj `if test -f 'tests/propertyconfig_test/main.cxx'; then $(CYGPATH_W) 'tests/propertyconfig_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/propertyconfig_test/main.cxx'; fi` +tests/qt6messagehandler_test/qt6messagehandler_test-main.o: tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/qt6messagehandler_test/qt6messagehandler_test-main.o -MD -MP -MF tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Tpo -c -o tests/qt6messagehandler_test/qt6messagehandler_test-main.o `test -f 'tests/qt6messagehandler_test/main.cxx' || echo '$(srcdir)/'`tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Tpo tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/qt6messagehandler_test/main.cxx' object='tests/qt6messagehandler_test/qt6messagehandler_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/qt6messagehandler_test/qt6messagehandler_test-main.o `test -f 'tests/qt6messagehandler_test/main.cxx' || echo '$(srcdir)/'`tests/qt6messagehandler_test/main.cxx + +tests/qt6messagehandler_test/qt6messagehandler_test-main.obj: tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/qt6messagehandler_test/qt6messagehandler_test-main.obj -MD -MP -MF tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Tpo -c -o tests/qt6messagehandler_test/qt6messagehandler_test-main.obj `if test -f 'tests/qt6messagehandler_test/main.cxx'; then $(CYGPATH_W) 'tests/qt6messagehandler_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/qt6messagehandler_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Tpo tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/qt6messagehandler_test/main.cxx' object='tests/qt6messagehandler_test/qt6messagehandler_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/qt6messagehandler_test/qt6messagehandler_test-main.obj `if test -f 'tests/qt6messagehandler_test/main.cxx'; then $(CYGPATH_W) 'tests/qt6messagehandler_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/qt6messagehandler_test/main.cxx'; fi` + +tests/qt6messagehandler_test/qt6messagehandler_testU-main.o: tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/qt6messagehandler_test/qt6messagehandler_testU-main.o -MD -MP -MF tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Tpo -c -o tests/qt6messagehandler_test/qt6messagehandler_testU-main.o `test -f 'tests/qt6messagehandler_test/main.cxx' || echo '$(srcdir)/'`tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Tpo tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/qt6messagehandler_test/main.cxx' object='tests/qt6messagehandler_test/qt6messagehandler_testU-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/qt6messagehandler_test/qt6messagehandler_testU-main.o `test -f 'tests/qt6messagehandler_test/main.cxx' || echo '$(srcdir)/'`tests/qt6messagehandler_test/main.cxx + +tests/qt6messagehandler_test/qt6messagehandler_testU-main.obj: tests/qt6messagehandler_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/qt6messagehandler_test/qt6messagehandler_testU-main.obj -MD -MP -MF tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Tpo -c -o tests/qt6messagehandler_test/qt6messagehandler_testU-main.obj `if test -f 'tests/qt6messagehandler_test/main.cxx'; then $(CYGPATH_W) 'tests/qt6messagehandler_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/qt6messagehandler_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Tpo tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/qt6messagehandler_test/main.cxx' object='tests/qt6messagehandler_test/qt6messagehandler_testU-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt6messagehandler_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/qt6messagehandler_test/qt6messagehandler_testU-main.obj `if test -f 'tests/qt6messagehandler_test/main.cxx'; then $(CYGPATH_W) 'tests/qt6messagehandler_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/qt6messagehandler_test/main.cxx'; fi` + +tests/socket_test/socket_test-main.o: tests/socket_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/socket_test/socket_test-main.o -MD -MP -MF tests/socket_test/$(DEPDIR)/socket_test-main.Tpo -c -o tests/socket_test/socket_test-main.o `test -f 'tests/socket_test/main.cxx' || echo '$(srcdir)/'`tests/socket_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/socket_test/$(DEPDIR)/socket_test-main.Tpo tests/socket_test/$(DEPDIR)/socket_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/socket_test/main.cxx' object='tests/socket_test/socket_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/socket_test/socket_test-main.o `test -f 'tests/socket_test/main.cxx' || echo '$(srcdir)/'`tests/socket_test/main.cxx + +tests/socket_test/socket_test-main.obj: tests/socket_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/socket_test/socket_test-main.obj -MD -MP -MF tests/socket_test/$(DEPDIR)/socket_test-main.Tpo -c -o tests/socket_test/socket_test-main.obj `if test -f 'tests/socket_test/main.cxx'; then $(CYGPATH_W) 'tests/socket_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/socket_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/socket_test/$(DEPDIR)/socket_test-main.Tpo tests/socket_test/$(DEPDIR)/socket_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/socket_test/main.cxx' object='tests/socket_test/socket_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/socket_test/socket_test-main.obj `if test -f 'tests/socket_test/main.cxx'; then $(CYGPATH_W) 'tests/socket_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/socket_test/main.cxx'; fi` + tests/socket_test/socket_testU-main.o: tests/socket_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/socket_test/socket_testU-main.o -MD -MP -MF tests/socket_test/$(DEPDIR)/socket_testU-main.Tpo -c -o tests/socket_test/socket_testU-main.o `test -f 'tests/socket_test/main.cxx' || echo '$(srcdir)/'`tests/socket_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/socket_test/$(DEPDIR)/socket_testU-main.Tpo tests/socket_test/$(DEPDIR)/socket_testU-main.Po @@ -3807,6 +4154,20 @@ tests/socket_test/socket_testU-main.obj: tests/socket_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(socket_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/socket_test/socket_testU-main.obj `if test -f 'tests/socket_test/main.cxx'; then $(CYGPATH_W) 'tests/socket_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/socket_test/main.cxx'; fi` +tests/thread_test/thread_test-main.o: tests/thread_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/thread_test/thread_test-main.o -MD -MP -MF tests/thread_test/$(DEPDIR)/thread_test-main.Tpo -c -o tests/thread_test/thread_test-main.o `test -f 'tests/thread_test/main.cxx' || echo '$(srcdir)/'`tests/thread_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/thread_test/$(DEPDIR)/thread_test-main.Tpo tests/thread_test/$(DEPDIR)/thread_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/thread_test/main.cxx' object='tests/thread_test/thread_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/thread_test/thread_test-main.o `test -f 'tests/thread_test/main.cxx' || echo '$(srcdir)/'`tests/thread_test/main.cxx + +tests/thread_test/thread_test-main.obj: tests/thread_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/thread_test/thread_test-main.obj -MD -MP -MF tests/thread_test/$(DEPDIR)/thread_test-main.Tpo -c -o tests/thread_test/thread_test-main.obj `if test -f 'tests/thread_test/main.cxx'; then $(CYGPATH_W) 'tests/thread_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/thread_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/thread_test/$(DEPDIR)/thread_test-main.Tpo tests/thread_test/$(DEPDIR)/thread_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/thread_test/main.cxx' object='tests/thread_test/thread_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/thread_test/thread_test-main.obj `if test -f 'tests/thread_test/main.cxx'; then $(CYGPATH_W) 'tests/thread_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/thread_test/main.cxx'; fi` + tests/thread_test/thread_testU-main.o: tests/thread_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/thread_test/thread_testU-main.o -MD -MP -MF tests/thread_test/$(DEPDIR)/thread_testU-main.Tpo -c -o tests/thread_test/thread_testU-main.o `test -f 'tests/thread_test/main.cxx' || echo '$(srcdir)/'`tests/thread_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/thread_test/$(DEPDIR)/thread_testU-main.Tpo tests/thread_test/$(DEPDIR)/thread_testU-main.Po @@ -3821,6 +4182,20 @@ tests/thread_test/thread_testU-main.obj: tests/thread_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(thread_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/thread_test/thread_testU-main.obj `if test -f 'tests/thread_test/main.cxx'; then $(CYGPATH_W) 'tests/thread_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/thread_test/main.cxx'; fi` +tests/timeformat_test/timeformat_test-main.o: tests/timeformat_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/timeformat_test/timeformat_test-main.o -MD -MP -MF tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Tpo -c -o tests/timeformat_test/timeformat_test-main.o `test -f 'tests/timeformat_test/main.cxx' || echo '$(srcdir)/'`tests/timeformat_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Tpo tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/timeformat_test/main.cxx' object='tests/timeformat_test/timeformat_test-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/timeformat_test/timeformat_test-main.o `test -f 'tests/timeformat_test/main.cxx' || echo '$(srcdir)/'`tests/timeformat_test/main.cxx + +tests/timeformat_test/timeformat_test-main.obj: tests/timeformat_test/main.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/timeformat_test/timeformat_test-main.obj -MD -MP -MF tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Tpo -c -o tests/timeformat_test/timeformat_test-main.obj `if test -f 'tests/timeformat_test/main.cxx'; then $(CYGPATH_W) 'tests/timeformat_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/timeformat_test/main.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Tpo tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/timeformat_test/main.cxx' object='tests/timeformat_test/timeformat_test-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/timeformat_test/timeformat_test-main.obj `if test -f 'tests/timeformat_test/main.cxx'; then $(CYGPATH_W) 'tests/timeformat_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/timeformat_test/main.cxx'; fi` + tests/timeformat_test/timeformat_testU-main.o: tests/timeformat_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/timeformat_test/timeformat_testU-main.o -MD -MP -MF tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Tpo -c -o tests/timeformat_test/timeformat_testU-main.o `test -f 'tests/timeformat_test/main.cxx' || echo '$(srcdir)/'`tests/timeformat_test/main.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Tpo tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Po @@ -3835,6 +4210,20 @@ tests/timeformat_test/timeformat_testU-main.obj: tests/timeformat_test/main.cxx @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(timeformat_testU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/timeformat_test/timeformat_testU-main.obj `if test -f 'tests/timeformat_test/main.cxx'; then $(CYGPATH_W) 'tests/timeformat_test/main.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/timeformat_test/main.cxx'; fi` +tests/unit_tests/unit_tests-unit_tests.o: tests/unit_tests/unit_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/unit_tests/unit_tests-unit_tests.o -MD -MP -MF tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Tpo -c -o tests/unit_tests/unit_tests-unit_tests.o `test -f 'tests/unit_tests/unit_tests.cxx' || echo '$(srcdir)/'`tests/unit_tests/unit_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Tpo tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/unit_tests/unit_tests.cxx' object='tests/unit_tests/unit_tests-unit_tests.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/unit_tests/unit_tests-unit_tests.o `test -f 'tests/unit_tests/unit_tests.cxx' || echo '$(srcdir)/'`tests/unit_tests/unit_tests.cxx + +tests/unit_tests/unit_tests-unit_tests.obj: tests/unit_tests/unit_tests.cxx +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/unit_tests/unit_tests-unit_tests.obj -MD -MP -MF tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Tpo -c -o tests/unit_tests/unit_tests-unit_tests.obj `if test -f 'tests/unit_tests/unit_tests.cxx'; then $(CYGPATH_W) 'tests/unit_tests/unit_tests.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/unit_tests/unit_tests.cxx'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Tpo tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='tests/unit_tests/unit_tests.cxx' object='tests/unit_tests/unit_tests-unit_tests.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tests/unit_tests/unit_tests-unit_tests.obj `if test -f 'tests/unit_tests/unit_tests.cxx'; then $(CYGPATH_W) 'tests/unit_tests/unit_tests.cxx'; else $(CYGPATH_W) '$(srcdir)/tests/unit_tests/unit_tests.cxx'; fi` + tests/unit_tests/unit_testsU-unit_tests.o: tests/unit_tests/unit_tests.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_testsU_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tests/unit_tests/unit_testsU-unit_tests.o -MD -MP -MF tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Tpo -c -o tests/unit_tests/unit_testsU-unit_tests.o `test -f 'tests/unit_tests/unit_tests.cxx' || echo '$(srcdir)/'`tests/unit_tests/unit_tests.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Tpo tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Po @@ -4133,6 +4522,8 @@ distclean-generic: -$(am__rm_f) tests/priority_test/$(am__dirstamp) -$(am__rm_f) tests/propertyconfig_test/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) tests/propertyconfig_test/$(am__dirstamp) + -$(am__rm_f) tests/qt6messagehandler_test/$(DEPDIR)/$(am__dirstamp) + -$(am__rm_f) tests/qt6messagehandler_test/$(am__dirstamp) -$(am__rm_f) tests/socket_test/$(DEPDIR)/$(am__dirstamp) -$(am__rm_f) tests/socket_test/$(am__dirstamp) -$(am__rm_f) tests/thread_test/$(DEPDIR)/$(am__dirstamp) @@ -4280,43 +4671,45 @@ distclean: distclean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-version.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-win32consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-win32debugappender.Plo + -rm -f tests/appender_test/$(DEPDIR)/appender_test-main.Po -rm -f tests/appender_test/$(DEPDIR)/appender_testU-main.Po - -rm -f tests/appender_test/$(DEPDIR)/main.Po + -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po - -rm -f tests/configandwatch_test/$(DEPDIR)/main.Po + -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po + -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/func.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/main.Po + -rm -f tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po -rm -f tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Po - -rm -f tests/fileappender_test/$(DEPDIR)/main.Po + -rm -f tests/filter_test/$(DEPDIR)/filter_test-main.Po -rm -f tests/filter_test/$(DEPDIR)/filter_testU-main.Po - -rm -f tests/filter_test/$(DEPDIR)/main.Po + -rm -f tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po -rm -f tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Po - -rm -f tests/hierarchy_test/$(DEPDIR)/main.Po + -rm -f tests/loglog_test/$(DEPDIR)/loglog_test-main.Po -rm -f tests/loglog_test/$(DEPDIR)/loglog_testU-main.Po - -rm -f tests/loglog_test/$(DEPDIR)/main.Po - -rm -f tests/ndc_test/$(DEPDIR)/main.Po + -rm -f tests/ndc_test/$(DEPDIR)/ndc_test-main.Po -rm -f tests/ndc_test/$(DEPDIR)/ndc_testU-main.Po - -rm -f tests/ostream_test/$(DEPDIR)/main.Po + -rm -f tests/ostream_test/$(DEPDIR)/ostream_test-main.Po -rm -f tests/ostream_test/$(DEPDIR)/ostream_testU-main.Po - -rm -f tests/patternlayout_test/$(DEPDIR)/main.Po + -rm -f tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po -rm -f tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Po - -rm -f tests/performance_test/$(DEPDIR)/main.Po + -rm -f tests/performance_test/$(DEPDIR)/performance_test-main.Po -rm -f tests/performance_test/$(DEPDIR)/performance_testU-main.Po - -rm -f tests/priority_test/$(DEPDIR)/func.Po - -rm -f tests/priority_test/$(DEPDIR)/main.Po + -rm -f tests/priority_test/$(DEPDIR)/priority_test-func.Po + -rm -f tests/priority_test/$(DEPDIR)/priority_test-main.Po -rm -f tests/priority_test/$(DEPDIR)/priority_testU-func.Po -rm -f tests/priority_test/$(DEPDIR)/priority_testU-main.Po - -rm -f tests/propertyconfig_test/$(DEPDIR)/main.Po + -rm -f tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po -rm -f tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Po - -rm -f tests/socket_test/$(DEPDIR)/main.Po + -rm -f tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po + -rm -f tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po + -rm -f tests/socket_test/$(DEPDIR)/socket_test-main.Po -rm -f tests/socket_test/$(DEPDIR)/socket_testU-main.Po - -rm -f tests/thread_test/$(DEPDIR)/main.Po + -rm -f tests/thread_test/$(DEPDIR)/thread_test-main.Po -rm -f tests/thread_test/$(DEPDIR)/thread_testU-main.Po - -rm -f tests/timeformat_test/$(DEPDIR)/main.Po + -rm -f tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po -rm -f tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Po - -rm -f tests/unit_tests/$(DEPDIR)/unit_tests.Po + -rm -f tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po -rm -f tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ @@ -4491,43 +4884,45 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/$(DEPDIR)/liblog4cplus_la-version.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-win32consoleappender.Plo -rm -f src/$(DEPDIR)/liblog4cplus_la-win32debugappender.Plo + -rm -f tests/appender_test/$(DEPDIR)/appender_test-main.Po -rm -f tests/appender_test/$(DEPDIR)/appender_testU-main.Po - -rm -f tests/appender_test/$(DEPDIR)/main.Po + -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_test-main.Po -rm -f tests/configandwatch_test/$(DEPDIR)/configandwatch_testU-main.Po - -rm -f tests/configandwatch_test/$(DEPDIR)/main.Po + -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_test-func.Po + -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_test-main.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-func.Po -rm -f tests/customloglevel_test/$(DEPDIR)/customloglevel_testU-main.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/func.Po - -rm -f tests/customloglevel_test/$(DEPDIR)/main.Po + -rm -f tests/fileappender_test/$(DEPDIR)/fileappender_test-main.Po -rm -f tests/fileappender_test/$(DEPDIR)/fileappender_testU-main.Po - -rm -f tests/fileappender_test/$(DEPDIR)/main.Po + -rm -f tests/filter_test/$(DEPDIR)/filter_test-main.Po -rm -f tests/filter_test/$(DEPDIR)/filter_testU-main.Po - -rm -f tests/filter_test/$(DEPDIR)/main.Po + -rm -f tests/hierarchy_test/$(DEPDIR)/hierarchy_test-main.Po -rm -f tests/hierarchy_test/$(DEPDIR)/hierarchy_testU-main.Po - -rm -f tests/hierarchy_test/$(DEPDIR)/main.Po + -rm -f tests/loglog_test/$(DEPDIR)/loglog_test-main.Po -rm -f tests/loglog_test/$(DEPDIR)/loglog_testU-main.Po - -rm -f tests/loglog_test/$(DEPDIR)/main.Po - -rm -f tests/ndc_test/$(DEPDIR)/main.Po + -rm -f tests/ndc_test/$(DEPDIR)/ndc_test-main.Po -rm -f tests/ndc_test/$(DEPDIR)/ndc_testU-main.Po - -rm -f tests/ostream_test/$(DEPDIR)/main.Po + -rm -f tests/ostream_test/$(DEPDIR)/ostream_test-main.Po -rm -f tests/ostream_test/$(DEPDIR)/ostream_testU-main.Po - -rm -f tests/patternlayout_test/$(DEPDIR)/main.Po + -rm -f tests/patternlayout_test/$(DEPDIR)/patternlayout_test-main.Po -rm -f tests/patternlayout_test/$(DEPDIR)/patternlayout_testU-main.Po - -rm -f tests/performance_test/$(DEPDIR)/main.Po + -rm -f tests/performance_test/$(DEPDIR)/performance_test-main.Po -rm -f tests/performance_test/$(DEPDIR)/performance_testU-main.Po - -rm -f tests/priority_test/$(DEPDIR)/func.Po - -rm -f tests/priority_test/$(DEPDIR)/main.Po + -rm -f tests/priority_test/$(DEPDIR)/priority_test-func.Po + -rm -f tests/priority_test/$(DEPDIR)/priority_test-main.Po -rm -f tests/priority_test/$(DEPDIR)/priority_testU-func.Po -rm -f tests/priority_test/$(DEPDIR)/priority_testU-main.Po - -rm -f tests/propertyconfig_test/$(DEPDIR)/main.Po + -rm -f tests/propertyconfig_test/$(DEPDIR)/propertyconfig_test-main.Po -rm -f tests/propertyconfig_test/$(DEPDIR)/propertyconfig_testU-main.Po - -rm -f tests/socket_test/$(DEPDIR)/main.Po + -rm -f tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_test-main.Po + -rm -f tests/qt6messagehandler_test/$(DEPDIR)/qt6messagehandler_testU-main.Po + -rm -f tests/socket_test/$(DEPDIR)/socket_test-main.Po -rm -f tests/socket_test/$(DEPDIR)/socket_testU-main.Po - -rm -f tests/thread_test/$(DEPDIR)/main.Po + -rm -f tests/thread_test/$(DEPDIR)/thread_test-main.Po -rm -f tests/thread_test/$(DEPDIR)/thread_testU-main.Po - -rm -f tests/timeformat_test/$(DEPDIR)/main.Po + -rm -f tests/timeformat_test/$(DEPDIR)/timeformat_test-main.Po -rm -f tests/timeformat_test/$(DEPDIR)/timeformat_testU-main.Po - -rm -f tests/unit_tests/$(DEPDIR)/unit_tests.Po + -rm -f tests/unit_tests/$(DEPDIR)/unit_tests-unit_tests.Po -rm -f tests/unit_tests/$(DEPDIR)/unit_testsU-unit_tests.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/configure b/configure index 8b344561b..8029ee177 100755 --- a/configure +++ b/configure @@ -701,6 +701,7 @@ WITH_SWIG_TRUE SWIG_LIB SWIG_FLAGS SWIG +WITH_QT6 QT6_FALSE QT6_TRUE QT6_LIBS @@ -16494,6 +16495,8 @@ else QT6_FALSE= fi +WITH_QT6="$with_qt6" + diff --git a/configure.ac b/configure.ac index a0c2bddd9..fc7e2b84e 100644 --- a/configure.ac +++ b/configure.ac @@ -694,6 +694,8 @@ AS_IF([test "x$with_qt6" = "xyes"], [QT6_CFLAGS= QT6_LIBS=]) AM_CONDITIONAL([QT6], [test "x$with_qt6" = "xyes"]) +WITH_QT6="$with_qt6" +AC_SUBST([WITH_QT6]) AC_SUBST([QT6_CFLAGS]) AC_SUBST([QT6_LIBS]) diff --git a/include/Makefile.in b/include/Makefile.in index cc7db2dc5..201d65e73 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -300,6 +300,7 @@ SWIG = @SWIG@ SWIG_FLAGS = @SWIG_FLAGS@ SWIG_LIB = @SWIG_LIB@ VERSION = @VERSION@ +WITH_QT6 = @WITH_QT6@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/include/log4cplus/qt6debugappender.h b/include/log4cplus/qt6debugappender.h index 9f03d774f..19088ceab 100644 --- a/include/log4cplus/qt6debugappender.h +++ b/include/log4cplus/qt6debugappender.h @@ -73,6 +73,12 @@ namespace log4cplus { +/** + * @brief Qt6DebugAppender is a log4cplus appender that outputs log messages to + * the Qt6 debug output. + * + * @since 3.0.0 + */ class LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT Qt6DebugAppender : public Appender { diff --git a/include/log4cplus/qt6messagehandler.h b/include/log4cplus/qt6messagehandler.h index ac2b62240..dc01f243f 100644 --- a/include/log4cplus/qt6messagehandler.h +++ b/include/log4cplus/qt6messagehandler.h @@ -1,6 +1,6 @@ // -*- C++ -*- // Module: Log4cplus -// File: qt6debugappender.h +// File: qt6messagehandler.h // Created: 6/2025 // Author: Vaclav Haisman // @@ -42,7 +42,6 @@ #pragma once #endif -#include #include #if defined (_WIN32) @@ -73,10 +72,14 @@ namespace log4cplus { +using QtMessageHandlerType = std::remove_pointer_t; + /** * qt6_message_handler is a global message handler for Qt6 that logs messages * using log4cplus. * + * @since 3.0.0 + * * @note This handler is intended to be used with Qt6 applications. * @note This is a funtion declaration, not a class. * @@ -88,11 +91,19 @@ namespace log4cplus * * int main (int argc, char *argv[]) { * log4cplus::Initializer initializer; - * auto originalHandler = qInstallMessageHandler (qt6_message_handler); * QApplication app (argc, argv); + * auto originalHandler = qInstallMessageHandler (qt6_message_handler); + * // Your application code here + * // ... * } */ -LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT QtMessageHandler qt6_message_handler; +LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT +void +qt6_message_handler (QtMsgType type, QMessageLogContext const & qt_log_context, QString const & message); + +static_assert (std::is_same_v>, + "qt6_message_handler must have the same signature as QtMessageHandlerType."); } // namespace log4cplus diff --git a/qt6debugappender/Makefile.am b/qt6debugappender/Makefile.am index 9f2bf813b..bdccc00c4 100644 --- a/qt6debugappender/Makefile.am +++ b/qt6debugappender/Makefile.am @@ -1,4 +1,5 @@ lib_LTLIBRARIES += liblog4cplusqt6debugappender.la +liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) liblog4cplusqt6debugappender_la_cppflags = \ $(AM_CPPFLAGS) \ @@ -8,26 +9,26 @@ liblog4cplusqt6debugappender_la_CPPFLAGS = \ $(liblog4cplusqt6debugappender_la_cppflags) liblog4cplusqt6debugappender_la_sources = \ + %D%/qt6debugappender.cxx \ $(INCLUDES_SRC_PATH)/qt6debugappender.h \ - qt6debugappender/qt6debugappender.cxx + $(INCLUDES_SRC_PATH)/qt6messagehandler.h liblog4cplusqt6debugappender_la_SOURCES = \ $(liblog4cplusqt6debugappender_la_sources) -liblog4cplusqt6debugappender_la_LIBADD = $(liblog4cplus_la_file) - liblog4cplusqt6debugappender_la_ldflags = -no-undefined \ $(LOG4CPLUS_VERSION_LT_FLAGS) \ - @QT6_LIBS@ @LOG4CPLUS_PROFILING_LDFLAGS@ + @QT6_LIBS@ \ + @LOG4CPLUS_PROFILING_LDFLAGS@ liblog4cplusqt6debugappender_la_LDFLAGS = \ $(liblog4cplusqt6debugappender_la_ldflags) if BUILD_WITH_WCHAR_T_SUPPORT lib_LTLIBRARIES += liblog4cplusqt6debugappenderU.la +liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) liblog4cplusqt6debugappenderU_la_CPPFLAGS = \ $(liblog4cplusqt6debugappender_la_cppflags) -DUNICODE=1 -D_UNICODE=1 liblog4cplusqt6debugappenderU_la_SOURCES = \ $(liblog4cplusqt6debugappender_la_sources) -liblog4cplusqt6debugappenderU_la_LIBADD = $(liblog4cplusU_la_file) liblog4cplusqt6debugappenderU_la_LDFLAGS = \ $(liblog4cplusqt6debugappender_la_ldflags) endif diff --git a/qt6debugappender/qt6debugappender.cxx b/qt6debugappender/qt6debugappender.cxx index c1936be3b..bd605b90a 100644 --- a/qt6debugappender/qt6debugappender.cxx +++ b/qt6debugappender/qt6debugappender.cxx @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -159,7 +160,7 @@ qt_string_to_tstring (QString const & str) void -qt6_message_handler (QtMsgType const type, QMessageLogContext const & qt_log_context, QString const & message) +qt6_message_handler (QtMsgType type, QMessageLogContext const & qt_log_context, QString const & message) { // Convert the Qt message to a log4cplus logging event. spi::InternalLoggingEvent ev { @@ -175,8 +176,8 @@ qt6_message_handler (QtMsgType const type, QMessageLogContext const & qt_log_con .log (ev); } -static_assert (std::is_same_v, - "qt6_message_handler must have the same signature as QtMessageHandler."); +static_assert (std::is_same_v, + "qt6_message_handler must have the same signature as QtMessageHandlerType."); } // namespace log4cplus diff --git a/tests/Makefile.am b/tests/Makefile.am index 4691a7439..1b428f55a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -18,6 +18,7 @@ TESTSUITE_AT = \ %D%/performance_test.at \ %D%/priority_test.at \ %D%/propertyconfig_test.at \ + %D%/qt6messagehandler_test.at \ %D%/testsuite.at \ %D%/thread_test.at \ %D%/timeformat_test.at \ diff --git a/tests/Makefile.am.def b/tests/Makefile.am.def index 9c4e60140..43df9f8e5 100644 --- a/tests/Makefile.am.def +++ b/tests/Makefile.am.def @@ -20,4 +20,8 @@ tests = { name = thread_test; need_threads = 1; }; tests = { name = timeformat_test; }; -tests = { name = unit_tests; }; \ No newline at end of file +tests = { name = unit_tests; }; +tests = { + name = qt6messagehandler_test; + need_threads = 1; + conditional = QT6; }; diff --git a/tests/Makefile.am.tpl b/tests/Makefile.am.tpl index fb696d132..57ebbbc00 100644 --- a/tests/Makefile.am.tpl +++ b/tests/Makefile.am.tpl @@ -50,7 +50,10 @@ EXTRA_DIST += %D%/testsuite.at $(TESTSUITE) %D%/atlocal.in =]## Generated by Autogen from [= (tpl-file) =] [= IF need_threads =]if MULTI_THREADED -[= ENDIF =]noinst_PROGRAMS += [=name=] +[= + (if (not (string-null? (get "conditional"))) + (emit "if " (get "conditional") "\n")) +=][= ENDIF =]noinst_PROGRAMS += [=name=] [=name=]_sources = \ [= @@ -78,6 +81,7 @@ EXTRA_DIST += %D%/testsuite.at $(TESTSUITE) %D%/atlocal.in =] [=name=]_SOURCES = $([=name=]_sources) +[=name=]_CPPFLAGS = $(AM_CPPFLAGS) [=name=]_LDADD = $(liblog4cplus_la_file) [=name=]_LDFLAGS = -no-install @@ -87,9 +91,16 @@ noinst_PROGRAMS += [=name=]U [=name=]U_SOURCES = $([=name=]_sources) [=name=]U_LDADD = $(liblog4cplusU_la_file) [=name=]U_LDFLAGS = -no-install -endif -[= IF need_threads =] -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT +[= +(begin + (if (access? (string-concatenate (list (get "name") "/Makefile.am.inc")) R_OK) + (emit "include %D%/Makefile.am.inc"))) +=][= IF need_threads =] +endif # MULTI_THREADED [= ENDIF =][= - (out-pop) +(begin + (if (not (string-null? (get "conditional"))) + (emit "endif # " (get "conditional") "\n")) + (out-pop)) =][= ENDFOR tests =] diff --git a/tests/appender_test/Makefile.am b/tests/appender_test/Makefile.am index dc7158d55..fbbc81a5f 100644 --- a/tests/appender_test/Makefile.am +++ b/tests/appender_test/Makefile.am @@ -7,6 +7,7 @@ appender_test_sources = \ appender_test_SOURCES = $(appender_test_sources) +appender_test_CPPFLAGS = $(AM_CPPFLAGS) appender_test_LDADD = $(liblog4cplus_la_file) appender_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ appender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 appender_testU_SOURCES = $(appender_test_sources) appender_testU_LDADD = $(liblog4cplusU_la_file) appender_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/atlocal.in b/tests/atlocal.in index b83c86618..e7cb830c5 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -1,10 +1,11 @@ CPPFLAGS="-I$abs_top_builddir/include -I$abs_top_srcdir/include @CPPFLAGS@" +: ${AWK='@AWK@'} +: ${BUILD_WITH_WCHAR_T_SUPPORT='@BUILD_WITH_WCHAR_T_SUPPORT@'} : ${CC='@CC@'} : ${CXX='@CXX@'} : ${CXXFLAGS='@CXXFLAGS@'} +: ${ENABLE_THREADS='@ENABLE_THREADS@'} : ${GREP='@GREP@'} -: ${AWK='@AWK@'} : ${SED='@SED@'} -: ${ENABLE_THREADS='@ENABLE_THREADS@'} -: ${BUILD_WITH_WCHAR_T_SUPPORT='@BUILD_WITH_WCHAR_T_SUPPORT@'} +: ${WITH_QT6='@WITH_QT6@'} diff --git a/tests/configandwatch_test/Makefile.am b/tests/configandwatch_test/Makefile.am index 0b557ddd6..da7a9329e 100644 --- a/tests/configandwatch_test/Makefile.am +++ b/tests/configandwatch_test/Makefile.am @@ -8,6 +8,7 @@ configandwatch_test_sources = \ configandwatch_test_SOURCES = $(configandwatch_test_sources) +configandwatch_test_CPPFLAGS = $(AM_CPPFLAGS) configandwatch_test_LDADD = $(liblog4cplus_la_file) configandwatch_test_LDFLAGS = -no-install @@ -17,6 +18,6 @@ configandwatch_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 configandwatch_testU_SOURCES = $(configandwatch_test_sources) configandwatch_testU_LDADD = $(liblog4cplusU_la_file) configandwatch_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT -endif +endif # MULTI_THREADED diff --git a/tests/customloglevel_test/Makefile.am b/tests/customloglevel_test/Makefile.am index 9bab87408..3f97a5964 100644 --- a/tests/customloglevel_test/Makefile.am +++ b/tests/customloglevel_test/Makefile.am @@ -8,6 +8,7 @@ customloglevel_test_sources = \ customloglevel_test_SOURCES = $(customloglevel_test_sources) +customloglevel_test_CPPFLAGS = $(AM_CPPFLAGS) customloglevel_test_LDADD = $(liblog4cplus_la_file) customloglevel_test_LDFLAGS = -no-install @@ -17,4 +18,4 @@ customloglevel_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 customloglevel_testU_SOURCES = $(customloglevel_test_sources) customloglevel_testU_LDADD = $(liblog4cplusU_la_file) customloglevel_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/fileappender_test/Makefile.am b/tests/fileappender_test/Makefile.am index 58a0d0555..94aabdbf4 100644 --- a/tests/fileappender_test/Makefile.am +++ b/tests/fileappender_test/Makefile.am @@ -7,6 +7,7 @@ fileappender_test_sources = \ fileappender_test_SOURCES = $(fileappender_test_sources) +fileappender_test_CPPFLAGS = $(AM_CPPFLAGS) fileappender_test_LDADD = $(liblog4cplus_la_file) fileappender_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ fileappender_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 fileappender_testU_SOURCES = $(fileappender_test_sources) fileappender_testU_LDADD = $(liblog4cplusU_la_file) fileappender_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/filter_test/Makefile.am b/tests/filter_test/Makefile.am index ff0c17c62..bd24184fc 100644 --- a/tests/filter_test/Makefile.am +++ b/tests/filter_test/Makefile.am @@ -7,6 +7,7 @@ filter_test_sources = \ filter_test_SOURCES = $(filter_test_sources) +filter_test_CPPFLAGS = $(AM_CPPFLAGS) filter_test_LDADD = $(liblog4cplus_la_file) filter_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ filter_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 filter_testU_SOURCES = $(filter_test_sources) filter_testU_LDADD = $(liblog4cplusU_la_file) filter_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/headers.at b/tests/headers.at index 8f7c5cb03..a4a86df2c 100644 --- a/tests/headers.at +++ b/tests/headers.at @@ -25,6 +25,8 @@ m4_foreach_w([HEADER], log4cplus/nteventlogappender.h log4cplus/nullappender.h log4cplus/qt4debugappender.h + log4cplus/qt5debugappender.h + log4cplus/qt6debugappender.h log4cplus/socketappender.h log4cplus/streams.h log4cplus/syslogappender.h diff --git a/tests/hierarchy_test/Makefile.am b/tests/hierarchy_test/Makefile.am index bdcffc88a..5793bdd49 100644 --- a/tests/hierarchy_test/Makefile.am +++ b/tests/hierarchy_test/Makefile.am @@ -7,6 +7,7 @@ hierarchy_test_sources = \ hierarchy_test_SOURCES = $(hierarchy_test_sources) +hierarchy_test_CPPFLAGS = $(AM_CPPFLAGS) hierarchy_test_LDADD = $(liblog4cplus_la_file) hierarchy_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ hierarchy_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 hierarchy_testU_SOURCES = $(hierarchy_test_sources) hierarchy_testU_LDADD = $(liblog4cplusU_la_file) hierarchy_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/loglog_test/Makefile.am b/tests/loglog_test/Makefile.am index 5cb0ee828..f253c82ac 100644 --- a/tests/loglog_test/Makefile.am +++ b/tests/loglog_test/Makefile.am @@ -7,6 +7,7 @@ loglog_test_sources = \ loglog_test_SOURCES = $(loglog_test_sources) +loglog_test_CPPFLAGS = $(AM_CPPFLAGS) loglog_test_LDADD = $(liblog4cplus_la_file) loglog_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ loglog_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 loglog_testU_SOURCES = $(loglog_test_sources) loglog_testU_LDADD = $(liblog4cplusU_la_file) loglog_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/ndc_test/Makefile.am b/tests/ndc_test/Makefile.am index 86fb4d973..872aa7b69 100644 --- a/tests/ndc_test/Makefile.am +++ b/tests/ndc_test/Makefile.am @@ -7,6 +7,7 @@ ndc_test_sources = \ ndc_test_SOURCES = $(ndc_test_sources) +ndc_test_CPPFLAGS = $(AM_CPPFLAGS) ndc_test_LDADD = $(liblog4cplus_la_file) ndc_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ ndc_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 ndc_testU_SOURCES = $(ndc_test_sources) ndc_testU_LDADD = $(liblog4cplusU_la_file) ndc_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/ostream_test/Makefile.am b/tests/ostream_test/Makefile.am index 50ce9807a..770d761b4 100644 --- a/tests/ostream_test/Makefile.am +++ b/tests/ostream_test/Makefile.am @@ -7,6 +7,7 @@ ostream_test_sources = \ ostream_test_SOURCES = $(ostream_test_sources) +ostream_test_CPPFLAGS = $(AM_CPPFLAGS) ostream_test_LDADD = $(liblog4cplus_la_file) ostream_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ ostream_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 ostream_testU_SOURCES = $(ostream_test_sources) ostream_testU_LDADD = $(liblog4cplusU_la_file) ostream_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/patternlayout_test/Makefile.am b/tests/patternlayout_test/Makefile.am index 95216456e..0b4a7162f 100644 --- a/tests/patternlayout_test/Makefile.am +++ b/tests/patternlayout_test/Makefile.am @@ -7,6 +7,7 @@ patternlayout_test_sources = \ patternlayout_test_SOURCES = $(patternlayout_test_sources) +patternlayout_test_CPPFLAGS = $(AM_CPPFLAGS) patternlayout_test_LDADD = $(liblog4cplus_la_file) patternlayout_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ patternlayout_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 patternlayout_testU_SOURCES = $(patternlayout_test_sources) patternlayout_testU_LDADD = $(liblog4cplusU_la_file) patternlayout_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/performance_test/Makefile.am b/tests/performance_test/Makefile.am index c91bba37f..423dd23d1 100644 --- a/tests/performance_test/Makefile.am +++ b/tests/performance_test/Makefile.am @@ -7,6 +7,7 @@ performance_test_sources = \ performance_test_SOURCES = $(performance_test_sources) +performance_test_CPPFLAGS = $(AM_CPPFLAGS) performance_test_LDADD = $(liblog4cplus_la_file) performance_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ performance_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 performance_testU_SOURCES = $(performance_test_sources) performance_testU_LDADD = $(liblog4cplusU_la_file) performance_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/priority_test/Makefile.am b/tests/priority_test/Makefile.am index 97fed693a..63da648b0 100644 --- a/tests/priority_test/Makefile.am +++ b/tests/priority_test/Makefile.am @@ -8,6 +8,7 @@ priority_test_sources = \ priority_test_SOURCES = $(priority_test_sources) +priority_test_CPPFLAGS = $(AM_CPPFLAGS) priority_test_LDADD = $(liblog4cplus_la_file) priority_test_LDFLAGS = -no-install @@ -17,4 +18,4 @@ priority_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 priority_testU_SOURCES = $(priority_test_sources) priority_testU_LDADD = $(liblog4cplusU_la_file) priority_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/propertyconfig_test/Makefile.am b/tests/propertyconfig_test/Makefile.am index 20d198a55..403e1c963 100644 --- a/tests/propertyconfig_test/Makefile.am +++ b/tests/propertyconfig_test/Makefile.am @@ -7,6 +7,7 @@ propertyconfig_test_sources = \ propertyconfig_test_SOURCES = $(propertyconfig_test_sources) +propertyconfig_test_CPPFLAGS = $(AM_CPPFLAGS) propertyconfig_test_LDADD = $(liblog4cplus_la_file) propertyconfig_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ propertyconfig_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 propertyconfig_testU_SOURCES = $(propertyconfig_test_sources) propertyconfig_testU_LDADD = $(liblog4cplusU_la_file) propertyconfig_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/qt6messagehandler_test.at b/tests/qt6messagehandler_test.at new file mode 100644 index 000000000..d7f65a246 --- /dev/null +++ b/tests/qt6messagehandler_test.at @@ -0,0 +1,12 @@ +AT_SETUP([qt6messagehandler_test]) +AT_KEYWORDS([appenders]) + +AT_SKIP_IF([set -x; test "x$WITH_QT6" != xyes]) + +AT_CHECK([cp -f "${abs_srcdir}/qt6messagehandler_test/expout" .]) +AT_CHECK(["${abs_top_builddir}/qt6messagehandler_test"], [0], [expout]) +ATX_WCHAR_T_TEST([ + AT_CHECK(["${abs_top_builddir}/qt6messagehandler_testU"], [0], [expout]) +]) + +AT_CLEANUP diff --git a/tests/qt6messagehandler_test/Makefile.am b/tests/qt6messagehandler_test/Makefile.am new file mode 100644 index 000000000..2c5ac8fe4 --- /dev/null +++ b/tests/qt6messagehandler_test/Makefile.am @@ -0,0 +1,25 @@ +## Generated by Autogen from Makefile.am.tpl + +if MULTI_THREADED +if QT6 +noinst_PROGRAMS += qt6messagehandler_test + +qt6messagehandler_test_sources = \ + %D%/main.cxx + +qt6messagehandler_test_SOURCES = $(qt6messagehandler_test_sources) + +qt6messagehandler_test_CPPFLAGS = $(AM_CPPFLAGS) +qt6messagehandler_test_LDADD = $(liblog4cplus_la_file) +qt6messagehandler_test_LDFLAGS = -no-install + +if BUILD_WITH_WCHAR_T_SUPPORT +noinst_PROGRAMS += qt6messagehandler_testU +qt6messagehandler_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 +qt6messagehandler_testU_SOURCES = $(qt6messagehandler_test_sources) +qt6messagehandler_testU_LDADD = $(liblog4cplusU_la_file) +qt6messagehandler_testU_LDFLAGS = -no-install +endif # BUILD_WITH_WCHAR_T_SUPPORT +include %D%/Makefile.am.inc +endif # MULTI_THREADED +endif # QT6 diff --git a/tests/qt6messagehandler_test/Makefile.am.inc b/tests/qt6messagehandler_test/Makefile.am.inc new file mode 100644 index 000000000..c88fe7359 --- /dev/null +++ b/tests/qt6messagehandler_test/Makefile.am.inc @@ -0,0 +1,13 @@ +qt6messagehandler_test_cppflags = \ + @QT6_CFLAGS@ +qt6messagehandler_test_ldflags = \ + @QT6_LIBS@ + +qt6messagehandler_test_LDADD += $(top_builddir)/liblog4cplusqt6debugappender.la +qt6messagehandler_test_CPPFLAGS += $(qt6messagehandler_test_cppflags) +qt6messagehandler_test_LDFLAGS += $(qt6messagehandler_test_ldflags) +if BUILD_WITH_WCHAR_T_SUPPORT +qt6messagehandler_testU_CPPFLAGS += $(qt6messagehandler_test_cppflags) +qt6messagehandler_testU_LDFLAGS += $(qt6messagehandler_test_ldflags) +qt6messagehandler_testU_LDADD += $(top_builddir)/liblog4cplusqt6debugappenderU.la +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/qt6messagehandler_test/expout b/tests/qt6messagehandler_test/expout new file mode 100644 index 000000000..a797241f3 --- /dev/null +++ b/tests/qt6messagehandler_test/expout @@ -0,0 +1 @@ +INFO - Qt6MessageHandler Test Application Started diff --git a/tests/qt6messagehandler_test/main.cxx b/tests/qt6messagehandler_test/main.cxx new file mode 100644 index 000000000..1fd020bb1 --- /dev/null +++ b/tests/qt6messagehandler_test/main.cxx @@ -0,0 +1,26 @@ +#include +#include +#include +#include +#include + +int +main (int argc, char *argv[]) +{ + // Initialize log4cplus. + log4cplus::Initializer initializer; + log4cplus::BasicConfigurator config; + config.configure(); + + // Create a Qt application instance. + QCoreApplication app(argc, argv); + // Install the Qt message handler. + qInstallMessageHandler(log4cplus::qt6_message_handler); + + QTimer::singleShot(0, [&app]() { + qInfo() << "Qt6MessageHandler Test Application Started"; + app.quit(); + }); + + return app.exec(); +} \ No newline at end of file diff --git a/tests/socket_test/Makefile.am b/tests/socket_test/Makefile.am index d9a7b840d..505cb1643 100644 --- a/tests/socket_test/Makefile.am +++ b/tests/socket_test/Makefile.am @@ -7,6 +7,7 @@ socket_test_sources = \ socket_test_SOURCES = $(socket_test_sources) +socket_test_CPPFLAGS = $(AM_CPPFLAGS) socket_test_LDADD = $(liblog4cplus_la_file) socket_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ socket_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 socket_testU_SOURCES = $(socket_test_sources) socket_testU_LDADD = $(liblog4cplusU_la_file) socket_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/testsuite b/tests/testsuite index 4b016206f..8f9d132dd 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -636,55 +636,58 @@ at_help_all="1;headers.at:1;separate compilation of log4cplus/appender.h;headers 23;headers.at:1;separate compilation of log4cplus/nteventlogappender.h;headers-compilation; 24;headers.at:1;separate compilation of log4cplus/nullappender.h;headers-compilation; 25;headers.at:1;separate compilation of log4cplus/qt4debugappender.h;headers-compilation; -26;headers.at:1;separate compilation of log4cplus/socketappender.h;headers-compilation; -27;headers.at:1;separate compilation of log4cplus/streams.h;headers-compilation; -28;headers.at:1;separate compilation of log4cplus/syslogappender.h;headers-compilation; -29;headers.at:1;separate compilation of log4cplus/tchar.h;headers-compilation; -30;headers.at:1;separate compilation of log4cplus/tracelogger.h;headers-compilation; -31;headers.at:1;separate compilation of log4cplus/tstring.h;headers-compilation; -32;headers.at:1;separate compilation of log4cplus/version.h;headers-compilation; -33;headers.at:1;separate compilation of log4cplus/win32consoleappender.h;headers-compilation; -34;headers.at:1;separate compilation of log4cplus/win32debugappender.h;headers-compilation; -35;headers.at:1;separate compilation of log4cplus/helpers/appenderattachableimpl.h;headers-compilation; -36;headers.at:1;separate compilation of log4cplus/helpers/connectorthread.h;headers-compilation; -37;headers.at:1;separate compilation of log4cplus/helpers/fileinfo.h;headers-compilation; -38;headers.at:1;separate compilation of log4cplus/helpers/lockfile.h;headers-compilation; -39;headers.at:1;separate compilation of log4cplus/helpers/loglog.h;headers-compilation; -40;headers.at:1;separate compilation of log4cplus/helpers/pointer.h;headers-compilation; -41;headers.at:1;separate compilation of log4cplus/helpers/property.h;headers-compilation; -42;headers.at:1;separate compilation of log4cplus/helpers/queue.h;headers-compilation; -43;headers.at:1;separate compilation of log4cplus/helpers/snprintf.h;headers-compilation; -44;headers.at:1;separate compilation of log4cplus/helpers/socket.h;headers-compilation; -45;headers.at:1;separate compilation of log4cplus/helpers/socketbuffer.h;headers-compilation; -46;headers.at:1;separate compilation of log4cplus/helpers/stringhelper.h;headers-compilation; -47;headers.at:1;separate compilation of log4cplus/helpers/timehelper.h;headers-compilation; -48;headers.at:1;separate compilation of log4cplus/spi/appenderattachable.h;headers-compilation; -49;headers.at:1;separate compilation of log4cplus/spi/factory.h;headers-compilation; -50;headers.at:1;separate compilation of log4cplus/spi/filter.h;headers-compilation; -51;headers.at:1;separate compilation of log4cplus/spi/loggerfactory.h;headers-compilation; -52;headers.at:1;separate compilation of log4cplus/spi/loggerimpl.h;headers-compilation; -53;headers.at:1;separate compilation of log4cplus/spi/loggingevent.h;headers-compilation; -54;headers.at:1;separate compilation of log4cplus/spi/objectregistry.h;headers-compilation; -55;headers.at:1;separate compilation of log4cplus/spi/rootlogger.h;headers-compilation; -56;headers.at:1;separate compilation of log4cplus/thread/syncprims-pub-impl.h;headers-compilation; -57;headers.at:1;separate compilation of log4cplus/thread/syncprims.h;headers-compilation; -58;headers.at:1;separate compilation of log4cplus/thread/threads.h;headers-compilation; -59;appender_test.at:1;appender_test;appenders; -60;configandwatch_test.at:1;configandwatch_test;appenders; -61;customloglevel_test.at:1;customloglevel_test;appenders; -62;fileappender_test.at:1;fileappender_test;appenders; -63;filter_test.at:1;filter_test;appenders; -64;hierarchy_test.at:1;hierarchy_test;appenders; -65;loglog_test.at:1;loglog_test;appenders; -66;ndc_test.at:1;ndc_test;appenders; -67;ostream_test.at:1;ostream_test;appenders; -68;patternlayout_test.at:1;patternlayout_test;appenders; -69;performance_test.at:1;performance_test;appenders; -70;priority_test.at:1;priority_test;appenders; -71;propertyconfig_test.at:1;propertyconfig_test;appenders; -72;thread_test.at:1;thread_test;appenders; -73;timeformat_test.at:1;timeformat_test;appenders; -74;unit_tests.at:1;unit_tests;unit-tests; +26;headers.at:1;separate compilation of log4cplus/qt5debugappender.h;headers-compilation; +27;headers.at:1;separate compilation of log4cplus/qt6debugappender.h;headers-compilation; +28;headers.at:1;separate compilation of log4cplus/socketappender.h;headers-compilation; +29;headers.at:1;separate compilation of log4cplus/streams.h;headers-compilation; +30;headers.at:1;separate compilation of log4cplus/syslogappender.h;headers-compilation; +31;headers.at:1;separate compilation of log4cplus/tchar.h;headers-compilation; +32;headers.at:1;separate compilation of log4cplus/tracelogger.h;headers-compilation; +33;headers.at:1;separate compilation of log4cplus/tstring.h;headers-compilation; +34;headers.at:1;separate compilation of log4cplus/version.h;headers-compilation; +35;headers.at:1;separate compilation of log4cplus/win32consoleappender.h;headers-compilation; +36;headers.at:1;separate compilation of log4cplus/win32debugappender.h;headers-compilation; +37;headers.at:1;separate compilation of log4cplus/helpers/appenderattachableimpl.h;headers-compilation; +38;headers.at:1;separate compilation of log4cplus/helpers/connectorthread.h;headers-compilation; +39;headers.at:1;separate compilation of log4cplus/helpers/fileinfo.h;headers-compilation; +40;headers.at:1;separate compilation of log4cplus/helpers/lockfile.h;headers-compilation; +41;headers.at:1;separate compilation of log4cplus/helpers/loglog.h;headers-compilation; +42;headers.at:1;separate compilation of log4cplus/helpers/pointer.h;headers-compilation; +43;headers.at:1;separate compilation of log4cplus/helpers/property.h;headers-compilation; +44;headers.at:1;separate compilation of log4cplus/helpers/queue.h;headers-compilation; +45;headers.at:1;separate compilation of log4cplus/helpers/snprintf.h;headers-compilation; +46;headers.at:1;separate compilation of log4cplus/helpers/socket.h;headers-compilation; +47;headers.at:1;separate compilation of log4cplus/helpers/socketbuffer.h;headers-compilation; +48;headers.at:1;separate compilation of log4cplus/helpers/stringhelper.h;headers-compilation; +49;headers.at:1;separate compilation of log4cplus/helpers/timehelper.h;headers-compilation; +50;headers.at:1;separate compilation of log4cplus/spi/appenderattachable.h;headers-compilation; +51;headers.at:1;separate compilation of log4cplus/spi/factory.h;headers-compilation; +52;headers.at:1;separate compilation of log4cplus/spi/filter.h;headers-compilation; +53;headers.at:1;separate compilation of log4cplus/spi/loggerfactory.h;headers-compilation; +54;headers.at:1;separate compilation of log4cplus/spi/loggerimpl.h;headers-compilation; +55;headers.at:1;separate compilation of log4cplus/spi/loggingevent.h;headers-compilation; +56;headers.at:1;separate compilation of log4cplus/spi/objectregistry.h;headers-compilation; +57;headers.at:1;separate compilation of log4cplus/spi/rootlogger.h;headers-compilation; +58;headers.at:1;separate compilation of log4cplus/thread/syncprims-pub-impl.h;headers-compilation; +59;headers.at:1;separate compilation of log4cplus/thread/syncprims.h;headers-compilation; +60;headers.at:1;separate compilation of log4cplus/thread/threads.h;headers-compilation; +61;appender_test.at:1;appender_test;appenders; +62;configandwatch_test.at:1;configandwatch_test;appenders; +63;customloglevel_test.at:1;customloglevel_test;appenders; +64;fileappender_test.at:1;fileappender_test;appenders; +65;filter_test.at:1;filter_test;appenders; +66;hierarchy_test.at:1;hierarchy_test;appenders; +67;loglog_test.at:1;loglog_test;appenders; +68;ndc_test.at:1;ndc_test;appenders; +69;ostream_test.at:1;ostream_test;appenders; +70;patternlayout_test.at:1;patternlayout_test;appenders; +71;performance_test.at:1;performance_test;appenders; +72;priority_test.at:1;priority_test;appenders; +73;propertyconfig_test.at:1;propertyconfig_test;appenders; +74;qt6messagehandler_test.at:1;qt6messagehandler_test;appenders; +75;thread_test.at:1;thread_test;appenders; +76;timeformat_test.at:1;timeformat_test;appenders; +77;unit_tests.at:1;unit_tests;unit-tests; " # List of the all the test groups. at_groups_all=`printf "%s\n" "$at_help_all" | sed 's/;.*//'` @@ -698,7 +701,7 @@ at_fn_validate_ranges () for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 74; then + if test $at_value -lt 1 || test $at_value -gt 77; then printf "%s\n" "invalid test group: $at_value" >&2 exit 1 fi @@ -1057,7 +1060,7 @@ esac # Category starts at test group 1. at_banner_text_1="separate headers compilation" # Banner 2. testsuite.at:14 -# Category starts at test group 59. +# Category starts at test group 61. at_banner_text_2="other tests" # Take any -C into account. @@ -3711,7 +3714,7 @@ read at_status <"$at_status_file" #AT_STOP_25 #AT_START_26 at_fn_group_banner 26 'headers.at:1' \ - "separate compilation of log4cplus/socketappender.h" "" 1 + "separate compilation of log4cplus/qt5debugappender.h" "" 1 at_xfail=no ( printf "%s\n" "26. $at_setup_line: testing $at_desc ..." @@ -3720,9 +3723,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/qt5debugappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/socketappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/qt5debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3777,7 +3780,7 @@ read at_status <"$at_status_file" #AT_STOP_26 #AT_START_27 at_fn_group_banner 27 'headers.at:1' \ - "separate compilation of log4cplus/streams.h" " " 1 + "separate compilation of log4cplus/qt6debugappender.h" "" 1 at_xfail=no ( printf "%s\n" "27. $at_setup_line: testing $at_desc ..." @@ -3786,9 +3789,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/qt6debugappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/streams.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/qt6debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3843,7 +3846,7 @@ read at_status <"$at_status_file" #AT_STOP_27 #AT_START_28 at_fn_group_banner 28 'headers.at:1' \ - "separate compilation of log4cplus/syslogappender.h" "" 1 + "separate compilation of log4cplus/socketappender.h" "" 1 at_xfail=no ( printf "%s\n" "28. $at_setup_line: testing $at_desc ..." @@ -3852,9 +3855,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/socketappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/syslogappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/socketappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3909,7 +3912,7 @@ read at_status <"$at_status_file" #AT_STOP_28 #AT_START_29 at_fn_group_banner 29 'headers.at:1' \ - "separate compilation of log4cplus/tchar.h" " " 1 + "separate compilation of log4cplus/streams.h" " " 1 at_xfail=no ( printf "%s\n" "29. $at_setup_line: testing $at_desc ..." @@ -3918,9 +3921,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/streams.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tchar.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/streams.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -3975,7 +3978,7 @@ read at_status <"$at_status_file" #AT_STOP_29 #AT_START_30 at_fn_group_banner 30 'headers.at:1' \ - "separate compilation of log4cplus/tracelogger.h" "" 1 + "separate compilation of log4cplus/syslogappender.h" "" 1 at_xfail=no ( printf "%s\n" "30. $at_setup_line: testing $at_desc ..." @@ -3984,9 +3987,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/syslogappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tracelogger.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/syslogappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4041,7 +4044,7 @@ read at_status <"$at_status_file" #AT_STOP_30 #AT_START_31 at_fn_group_banner 31 'headers.at:1' \ - "separate compilation of log4cplus/tstring.h" " " 1 + "separate compilation of log4cplus/tchar.h" " " 1 at_xfail=no ( printf "%s\n" "31. $at_setup_line: testing $at_desc ..." @@ -4050,9 +4053,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tchar.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/tstring.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tchar.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4107,7 +4110,7 @@ read at_status <"$at_status_file" #AT_STOP_31 #AT_START_32 at_fn_group_banner 32 'headers.at:1' \ - "separate compilation of log4cplus/version.h" " " 1 + "separate compilation of log4cplus/tracelogger.h" "" 1 at_xfail=no ( printf "%s\n" "32. $at_setup_line: testing $at_desc ..." @@ -4116,9 +4119,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/version.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tracelogger.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/version.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tracelogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4173,7 +4176,7 @@ read at_status <"$at_status_file" #AT_STOP_32 #AT_START_33 at_fn_group_banner 33 'headers.at:1' \ - "separate compilation of log4cplus/win32consoleappender.h" "" 1 + "separate compilation of log4cplus/tstring.h" " " 1 at_xfail=no ( printf "%s\n" "33. $at_setup_line: testing $at_desc ..." @@ -4182,9 +4185,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/tstring.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32consoleappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/tstring.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4239,7 +4242,7 @@ read at_status <"$at_status_file" #AT_STOP_33 #AT_START_34 at_fn_group_banner 34 'headers.at:1' \ - "separate compilation of log4cplus/win32debugappender.h" "" 1 + "separate compilation of log4cplus/version.h" " " 1 at_xfail=no ( printf "%s\n" "34. $at_setup_line: testing $at_desc ..." @@ -4248,9 +4251,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/version.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32debugappender.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/version.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4305,7 +4308,7 @@ read at_status <"$at_status_file" #AT_STOP_34 #AT_START_35 at_fn_group_banner 35 'headers.at:1' \ - "separate compilation of log4cplus/helpers/appenderattachableimpl.h" "" 1 + "separate compilation of log4cplus/win32consoleappender.h" "" 1 at_xfail=no ( printf "%s\n" "35. $at_setup_line: testing $at_desc ..." @@ -4314,9 +4317,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32consoleappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32consoleappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4371,7 +4374,7 @@ read at_status <"$at_status_file" #AT_STOP_35 #AT_START_36 at_fn_group_banner 36 'headers.at:1' \ - "separate compilation of log4cplus/helpers/connectorthread.h" "" 1 + "separate compilation of log4cplus/win32debugappender.h" "" 1 at_xfail=no ( printf "%s\n" "36. $at_setup_line: testing $at_desc ..." @@ -4380,9 +4383,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/win32debugappender.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/win32debugappender.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4437,7 +4440,7 @@ read at_status <"$at_status_file" #AT_STOP_36 #AT_START_37 at_fn_group_banner 37 'headers.at:1' \ - "separate compilation of log4cplus/helpers/fileinfo.h" "" 1 + "separate compilation of log4cplus/helpers/appenderattachableimpl.h" "" 1 at_xfail=no ( printf "%s\n" "37. $at_setup_line: testing $at_desc ..." @@ -4446,9 +4449,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/appenderattachableimpl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/appenderattachableimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4503,7 +4506,7 @@ read at_status <"$at_status_file" #AT_STOP_37 #AT_START_38 at_fn_group_banner 38 'headers.at:1' \ - "separate compilation of log4cplus/helpers/lockfile.h" "" 1 + "separate compilation of log4cplus/helpers/connectorthread.h" "" 1 at_xfail=no ( printf "%s\n" "38. $at_setup_line: testing $at_desc ..." @@ -4512,9 +4515,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/connectorthread.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/lockfile.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/connectorthread.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4569,7 +4572,7 @@ read at_status <"$at_status_file" #AT_STOP_38 #AT_START_39 at_fn_group_banner 39 'headers.at:1' \ - "separate compilation of log4cplus/helpers/loglog.h" "" 1 + "separate compilation of log4cplus/helpers/fileinfo.h" "" 1 at_xfail=no ( printf "%s\n" "39. $at_setup_line: testing $at_desc ..." @@ -4578,9 +4581,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/fileinfo.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/loglog.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/fileinfo.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4635,7 +4638,7 @@ read at_status <"$at_status_file" #AT_STOP_39 #AT_START_40 at_fn_group_banner 40 'headers.at:1' \ - "separate compilation of log4cplus/helpers/pointer.h" "" 1 + "separate compilation of log4cplus/helpers/lockfile.h" "" 1 at_xfail=no ( printf "%s\n" "40. $at_setup_line: testing $at_desc ..." @@ -4644,9 +4647,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/lockfile.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/pointer.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/lockfile.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4701,7 +4704,7 @@ read at_status <"$at_status_file" #AT_STOP_40 #AT_START_41 at_fn_group_banner 41 'headers.at:1' \ - "separate compilation of log4cplus/helpers/property.h" "" 1 + "separate compilation of log4cplus/helpers/loglog.h" "" 1 at_xfail=no ( printf "%s\n" "41. $at_setup_line: testing $at_desc ..." @@ -4710,9 +4713,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/loglog.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/property.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/loglog.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4767,7 +4770,7 @@ read at_status <"$at_status_file" #AT_STOP_41 #AT_START_42 at_fn_group_banner 42 'headers.at:1' \ - "separate compilation of log4cplus/helpers/queue.h" "" 1 + "separate compilation of log4cplus/helpers/pointer.h" "" 1 at_xfail=no ( printf "%s\n" "42. $at_setup_line: testing $at_desc ..." @@ -4776,9 +4779,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/pointer.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/queue.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/pointer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4833,7 +4836,7 @@ read at_status <"$at_status_file" #AT_STOP_42 #AT_START_43 at_fn_group_banner 43 'headers.at:1' \ - "separate compilation of log4cplus/helpers/snprintf.h" "" 1 + "separate compilation of log4cplus/helpers/property.h" "" 1 at_xfail=no ( printf "%s\n" "43. $at_setup_line: testing $at_desc ..." @@ -4842,9 +4845,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/property.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/snprintf.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/property.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4899,7 +4902,7 @@ read at_status <"$at_status_file" #AT_STOP_43 #AT_START_44 at_fn_group_banner 44 'headers.at:1' \ - "separate compilation of log4cplus/helpers/socket.h" "" 1 + "separate compilation of log4cplus/helpers/queue.h" "" 1 at_xfail=no ( printf "%s\n" "44. $at_setup_line: testing $at_desc ..." @@ -4908,9 +4911,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/queue.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socket.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/queue.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -4965,7 +4968,7 @@ read at_status <"$at_status_file" #AT_STOP_44 #AT_START_45 at_fn_group_banner 45 'headers.at:1' \ - "separate compilation of log4cplus/helpers/socketbuffer.h" "" 1 + "separate compilation of log4cplus/helpers/snprintf.h" "" 1 at_xfail=no ( printf "%s\n" "45. $at_setup_line: testing $at_desc ..." @@ -4974,9 +4977,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/snprintf.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/snprintf.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5031,7 +5034,7 @@ read at_status <"$at_status_file" #AT_STOP_45 #AT_START_46 at_fn_group_banner 46 'headers.at:1' \ - "separate compilation of log4cplus/helpers/stringhelper.h" "" 1 + "separate compilation of log4cplus/helpers/socket.h" "" 1 at_xfail=no ( printf "%s\n" "46. $at_setup_line: testing $at_desc ..." @@ -5040,9 +5043,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socket.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socket.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5097,7 +5100,7 @@ read at_status <"$at_status_file" #AT_STOP_46 #AT_START_47 at_fn_group_banner 47 'headers.at:1' \ - "separate compilation of log4cplus/helpers/timehelper.h" "" 1 + "separate compilation of log4cplus/helpers/socketbuffer.h" "" 1 at_xfail=no ( printf "%s\n" "47. $at_setup_line: testing $at_desc ..." @@ -5106,9 +5109,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/socketbuffer.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/timehelper.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/socketbuffer.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5163,7 +5166,7 @@ read at_status <"$at_status_file" #AT_STOP_47 #AT_START_48 at_fn_group_banner 48 'headers.at:1' \ - "separate compilation of log4cplus/spi/appenderattachable.h" "" 1 + "separate compilation of log4cplus/helpers/stringhelper.h" "" 1 at_xfail=no ( printf "%s\n" "48. $at_setup_line: testing $at_desc ..." @@ -5172,9 +5175,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/stringhelper.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/stringhelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5229,7 +5232,7 @@ read at_status <"$at_status_file" #AT_STOP_48 #AT_START_49 at_fn_group_banner 49 'headers.at:1' \ - "separate compilation of log4cplus/spi/factory.h" "" 1 + "separate compilation of log4cplus/helpers/timehelper.h" "" 1 at_xfail=no ( printf "%s\n" "49. $at_setup_line: testing $at_desc ..." @@ -5238,9 +5241,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/helpers/timehelper.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/factory.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/helpers/timehelper.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5295,7 +5298,7 @@ read at_status <"$at_status_file" #AT_STOP_49 #AT_START_50 at_fn_group_banner 50 'headers.at:1' \ - "separate compilation of log4cplus/spi/filter.h" " " 1 + "separate compilation of log4cplus/spi/appenderattachable.h" "" 1 at_xfail=no ( printf "%s\n" "50. $at_setup_line: testing $at_desc ..." @@ -5304,9 +5307,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/appenderattachable.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/filter.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/appenderattachable.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5361,7 +5364,7 @@ read at_status <"$at_status_file" #AT_STOP_50 #AT_START_51 at_fn_group_banner 51 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggerfactory.h" "" 1 + "separate compilation of log4cplus/spi/factory.h" "" 1 at_xfail=no ( printf "%s\n" "51. $at_setup_line: testing $at_desc ..." @@ -5370,9 +5373,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/factory.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/factory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5427,7 +5430,7 @@ read at_status <"$at_status_file" #AT_STOP_51 #AT_START_52 at_fn_group_banner 52 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggerimpl.h" "" 1 + "separate compilation of log4cplus/spi/filter.h" " " 1 at_xfail=no ( printf "%s\n" "52. $at_setup_line: testing $at_desc ..." @@ -5436,9 +5439,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/filter.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/filter.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5493,7 +5496,7 @@ read at_status <"$at_status_file" #AT_STOP_52 #AT_START_53 at_fn_group_banner 53 'headers.at:1' \ - "separate compilation of log4cplus/spi/loggingevent.h" "" 1 + "separate compilation of log4cplus/spi/loggerfactory.h" "" 1 at_xfail=no ( printf "%s\n" "53. $at_setup_line: testing $at_desc ..." @@ -5502,9 +5505,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerfactory.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggingevent.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerfactory.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5559,7 +5562,7 @@ read at_status <"$at_status_file" #AT_STOP_53 #AT_START_54 at_fn_group_banner 54 'headers.at:1' \ - "separate compilation of log4cplus/spi/objectregistry.h" "" 1 + "separate compilation of log4cplus/spi/loggerimpl.h" "" 1 at_xfail=no ( printf "%s\n" "54. $at_setup_line: testing $at_desc ..." @@ -5568,9 +5571,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggerimpl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/objectregistry.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggerimpl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5625,7 +5628,7 @@ read at_status <"$at_status_file" #AT_STOP_54 #AT_START_55 at_fn_group_banner 55 'headers.at:1' \ - "separate compilation of log4cplus/spi/rootlogger.h" "" 1 + "separate compilation of log4cplus/spi/loggingevent.h" "" 1 at_xfail=no ( printf "%s\n" "55. $at_setup_line: testing $at_desc ..." @@ -5634,9 +5637,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/loggingevent.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/rootlogger.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/loggingevent.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5691,7 +5694,7 @@ read at_status <"$at_status_file" #AT_STOP_55 #AT_START_56 at_fn_group_banner 56 'headers.at:1' \ - "separate compilation of log4cplus/thread/syncprims-pub-impl.h" "" 1 + "separate compilation of log4cplus/spi/objectregistry.h" "" 1 at_xfail=no ( printf "%s\n" "56. $at_setup_line: testing $at_desc ..." @@ -5700,9 +5703,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/objectregistry.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/objectregistry.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5757,7 +5760,7 @@ read at_status <"$at_status_file" #AT_STOP_56 #AT_START_57 at_fn_group_banner 57 'headers.at:1' \ - "separate compilation of log4cplus/thread/syncprims.h" "" 1 + "separate compilation of log4cplus/spi/rootlogger.h" "" 1 at_xfail=no ( printf "%s\n" "57. $at_setup_line: testing $at_desc ..." @@ -5766,9 +5769,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/spi/rootlogger.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/spi/rootlogger.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5823,7 +5826,7 @@ read at_status <"$at_status_file" #AT_STOP_57 #AT_START_58 at_fn_group_banner 58 'headers.at:1' \ - "separate compilation of log4cplus/thread/threads.h" "" 1 + "separate compilation of log4cplus/thread/syncprims-pub-impl.h" "" 1 at_xfail=no ( printf "%s\n" "58. $at_setup_line: testing $at_desc ..." @@ -5832,9 +5835,9 @@ at_xfail=no { set +x -printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims-pub-impl.h\\\"\">test.cxx" at_fn_check_prepare_trace "headers.at:1" -( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/threads.h\"">test.cxx +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims-pub-impl.h\"">test.cxx ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter @@ -5888,8 +5891,8 @@ fi read at_status <"$at_status_file" #AT_STOP_58 #AT_START_59 -at_fn_group_banner 59 'appender_test.at:1' \ - "appender_test" " " 2 +at_fn_group_banner 59 'headers.at:1' \ + "separate compilation of log4cplus/thread/syncprims.h" "" 1 at_xfail=no ( printf "%s\n" "59. $at_setup_line: testing $at_desc ..." @@ -5897,6 +5900,138 @@ at_xfail=no + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/syncprims.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/syncprims.h\"">test.cxx +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + + + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + +fi + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'headers.at:1' \ + "separate compilation of log4cplus/thread/threads.h" "" 1 +at_xfail=no +( + printf "%s\n" "60. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: printf \"%s\\n\" \"#include \\\"log4cplus/thread/threads.h\\\"\">test.cxx" +at_fn_check_prepare_trace "headers.at:1" +( $at_check_trace; printf "%s\n" "#include \"log4cplus/thread/threads.h\"">test.cxx +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + + + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : + + { set +x +printf "%s\n" "$at_srcdir/headers.at:1: \$CXX \$CPPFLAGS \$CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c \"test.cxx\"" "headers.at:1" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUNICODE=1 -D_UNICODE=1 -c "test.cxx" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/headers.at:1" +$at_failed && at_fn_log_failure \ +"test.cxx" +$at_traceon; } + +fi + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'appender_test.at:1' \ + "appender_test" " " 2 +at_xfail=no +( + printf "%s\n" "61. $at_setup_line: testing $at_desc ..." + $at_traceon + + + { set +x printf "%s\n" "$at_srcdir/appender_test.at:4: cp -f \"\${abs_srcdir}/appender_test/expout\" ." at_fn_check_prepare_notrace 'a ${...} parameter expansion' "appender_test.at:4" @@ -5948,13 +6083,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_59 -#AT_START_60 -at_fn_group_banner 60 'configandwatch_test.at:1' \ +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'configandwatch_test.at:1' \ "configandwatch_test" " " 2 at_xfail=no ( - printf "%s\n" "60. $at_setup_line: testing $at_desc ..." + printf "%s\n" "62. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6040,13 +6175,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_60 -#AT_START_61 -at_fn_group_banner 61 'customloglevel_test.at:1' \ +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'customloglevel_test.at:1' \ "customloglevel_test" " " 2 at_xfail=no ( - printf "%s\n" "61. $at_setup_line: testing $at_desc ..." + printf "%s\n" "63. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6102,13 +6237,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_61 -#AT_START_62 -at_fn_group_banner 62 'fileappender_test.at:1' \ +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'fileappender_test.at:1' \ "fileappender_test" " " 2 at_xfail=no ( - printf "%s\n" "62. $at_setup_line: testing $at_desc ..." + printf "%s\n" "64. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6203,13 +6338,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_62 -#AT_START_63 -at_fn_group_banner 63 'filter_test.at:1' \ +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'filter_test.at:1' \ "filter_test" " " 2 at_xfail=no ( - printf "%s\n" "63. $at_setup_line: testing $at_desc ..." + printf "%s\n" "65. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6485,13 +6620,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_63 -#AT_START_64 -at_fn_group_banner 64 'hierarchy_test.at:1' \ +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'hierarchy_test.at:1' \ "hierarchy_test" " " 2 at_xfail=no ( - printf "%s\n" "64. $at_setup_line: testing $at_desc ..." + printf "%s\n" "66. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6547,13 +6682,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_64 -#AT_START_65 -at_fn_group_banner 65 'loglog_test.at:1' \ +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'loglog_test.at:1' \ "loglog_test" " " 2 at_xfail=no ( - printf "%s\n" "65. $at_setup_line: testing $at_desc ..." + printf "%s\n" "67. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6622,13 +6757,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_65 -#AT_START_66 -at_fn_group_banner 66 'ndc_test.at:1' \ +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'ndc_test.at:1' \ "ndc_test" " " 2 at_xfail=no ( - printf "%s\n" "66. $at_setup_line: testing $at_desc ..." + printf "%s\n" "68. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6684,13 +6819,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_66 -#AT_START_67 -at_fn_group_banner 67 'ostream_test.at:1' \ +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'ostream_test.at:1' \ "ostream_test" " " 2 at_xfail=no ( - printf "%s\n" "67. $at_setup_line: testing $at_desc ..." + printf "%s\n" "69. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6746,13 +6881,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_67 -#AT_START_68 -at_fn_group_banner 68 'patternlayout_test.at:1' \ +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'patternlayout_test.at:1' \ "patternlayout_test" " " 2 at_xfail=no ( - printf "%s\n" "68. $at_setup_line: testing $at_desc ..." + printf "%s\n" "70. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6844,13 +6979,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_68 -#AT_START_69 -at_fn_group_banner 69 'performance_test.at:1' \ +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'performance_test.at:1' \ "performance_test" " " 2 at_xfail=no ( - printf "%s\n" "69. $at_setup_line: testing $at_desc ..." + printf "%s\n" "71. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6932,13 +7067,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_69 -#AT_START_70 -at_fn_group_banner 70 'priority_test.at:1' \ +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'priority_test.at:1' \ "priority_test" " " 2 at_xfail=no ( - printf "%s\n" "70. $at_setup_line: testing $at_desc ..." + printf "%s\n" "72. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6994,13 +7129,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_70 -#AT_START_71 -at_fn_group_banner 71 'propertyconfig_test.at:1' \ +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'propertyconfig_test.at:1' \ "propertyconfig_test" " " 2 at_xfail=no ( - printf "%s\n" "71. $at_setup_line: testing $at_desc ..." + printf "%s\n" "73. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7134,13 +7269,79 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_71 -#AT_START_72 -at_fn_group_banner 72 'thread_test.at:1' \ +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'qt6messagehandler_test.at:1' \ + "qt6messagehandler_test" " " 2 +at_xfail=no +( + printf "%s\n" "74. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +printf "%s\n" "qt6messagehandler_test.at:4" >"$at_check_line_file" +(set -x; test "x$WITH_QT6" != xyes) \ + && at_fn_check_skip 77 "$at_srcdir/qt6messagehandler_test.at:4" + +{ set +x +printf "%s\n" "$at_srcdir/qt6messagehandler_test.at:6: cp -f \"\${abs_srcdir}/qt6messagehandler_test/expout\" ." +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "qt6messagehandler_test.at:6" +( $at_check_trace; cp -f "${abs_srcdir}/qt6messagehandler_test/expout" . +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/qt6messagehandler_test.at:6" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +printf "%s\n" "$at_srcdir/qt6messagehandler_test.at:7: \"\${abs_top_builddir}/qt6messagehandler_test\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "qt6messagehandler_test.at:7" +( $at_check_trace; "${abs_top_builddir}/qt6messagehandler_test" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/qt6messagehandler_test.at:7" +$at_failed && at_fn_log_failure +$at_traceon; } + + + if test "x$BUILD_WITH_WCHAR_T_SUPPORT" = "xyes" +then : + + { set +x +printf "%s\n" "$at_srcdir/qt6messagehandler_test.at:8: \"\${abs_top_builddir}/qt6messagehandler_testU\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "qt6messagehandler_test.at:8" +( $at_check_trace; "${abs_top_builddir}/qt6messagehandler_testU" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/qt6messagehandler_test.at:8" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_74 +#AT_START_75 +at_fn_group_banner 75 'thread_test.at:1' \ "thread_test" " " 2 at_xfail=no ( - printf "%s\n" "72. $at_setup_line: testing $at_desc ..." + printf "%s\n" "75. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7186,13 +7387,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_72 -#AT_START_73 -at_fn_group_banner 73 'timeformat_test.at:1' \ +#AT_STOP_75 +#AT_START_76 +at_fn_group_banner 76 'timeformat_test.at:1' \ "timeformat_test" " " 2 at_xfail=no ( - printf "%s\n" "73. $at_setup_line: testing $at_desc ..." + printf "%s\n" "76. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7261,13 +7462,13 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_73 -#AT_START_74 -at_fn_group_banner 74 'unit_tests.at:1' \ +#AT_STOP_76 +#AT_START_77 +at_fn_group_banner 77 'unit_tests.at:1' \ "unit_tests" " " 2 at_xfail=no ( - printf "%s\n" "74. $at_setup_line: testing $at_desc ..." + printf "%s\n" "77. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7310,4 +7511,4 @@ fi $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_74 +#AT_STOP_77 diff --git a/tests/testsuite.at b/tests/testsuite.at index 87aea3e07..c8c979d41 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -25,6 +25,7 @@ m4_include([patternlayout_test.at]) m4_include([performance_test.at]) m4_include([priority_test.at]) m4_include([propertyconfig_test.at]) +m4_include([qt6messagehandler_test.at]) m4_include([thread_test.at]) m4_include([timeformat_test.at]) m4_include([unit_tests.at]) diff --git a/tests/thread_test/Makefile.am b/tests/thread_test/Makefile.am index 97f6d48a8..8443d1543 100644 --- a/tests/thread_test/Makefile.am +++ b/tests/thread_test/Makefile.am @@ -8,6 +8,7 @@ thread_test_sources = \ thread_test_SOURCES = $(thread_test_sources) +thread_test_CPPFLAGS = $(AM_CPPFLAGS) thread_test_LDADD = $(liblog4cplus_la_file) thread_test_LDFLAGS = -no-install @@ -17,6 +18,6 @@ thread_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 thread_testU_SOURCES = $(thread_test_sources) thread_testU_LDADD = $(liblog4cplusU_la_file) thread_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT -endif +endif # MULTI_THREADED diff --git a/tests/timeformat_test/Makefile.am b/tests/timeformat_test/Makefile.am index 13f30600b..db5faba23 100644 --- a/tests/timeformat_test/Makefile.am +++ b/tests/timeformat_test/Makefile.am @@ -7,6 +7,7 @@ timeformat_test_sources = \ timeformat_test_SOURCES = $(timeformat_test_sources) +timeformat_test_CPPFLAGS = $(AM_CPPFLAGS) timeformat_test_LDADD = $(liblog4cplus_la_file) timeformat_test_LDFLAGS = -no-install @@ -16,4 +17,4 @@ timeformat_testU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 timeformat_testU_SOURCES = $(timeformat_test_sources) timeformat_testU_LDADD = $(liblog4cplusU_la_file) timeformat_testU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT diff --git a/tests/unit_tests/Makefile.am b/tests/unit_tests/Makefile.am index 36b345c19..4459324ad 100644 --- a/tests/unit_tests/Makefile.am +++ b/tests/unit_tests/Makefile.am @@ -7,6 +7,7 @@ unit_tests_sources = \ unit_tests_SOURCES = $(unit_tests_sources) +unit_tests_CPPFLAGS = $(AM_CPPFLAGS) unit_tests_LDADD = $(liblog4cplus_la_file) unit_tests_LDFLAGS = -no-install @@ -16,4 +17,4 @@ unit_testsU_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE=1 -D_UNICODE=1 unit_testsU_SOURCES = $(unit_tests_sources) unit_testsU_LDADD = $(liblog4cplusU_la_file) unit_testsU_LDFLAGS = -no-install -endif +endif # BUILD_WITH_WCHAR_T_SUPPORT From 57739780219acef6a0598e0bde8ec38f0b2d8088 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Jun 2025 19:10:54 +0200 Subject: [PATCH 346/353] Call std::_Exit() for QtFatalMsg messages. --- include/log4cplus/qt6messagehandler.h | 5 ++++- qt6debugappender/qt6debugappender.cxx | 12 ++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/log4cplus/qt6messagehandler.h b/include/log4cplus/qt6messagehandler.h index dc01f243f..cf21ba513 100644 --- a/include/log4cplus/qt6messagehandler.h +++ b/include/log4cplus/qt6messagehandler.h @@ -80,6 +80,8 @@ using QtMessageHandlerType = std::remove_pointer_t; * * @since 3.0.0 * + * @note This handler will call `std::_Exit(EXIT_FAILURE)` for `QtFatalMsg` + * messages. * @note This handler is intended to be used with Qt6 applications. * @note This is a funtion declaration, not a class. * @@ -99,7 +101,8 @@ using QtMessageHandlerType = std::remove_pointer_t; */ LOG4CPLUS_QT6DEBUGAPPENDER_EXPORT void -qt6_message_handler (QtMsgType type, QMessageLogContext const & qt_log_context, QString const & message); +qt6_message_handler (QtMsgType type, QMessageLogContext const & qt_log_context, + QString const & message); static_assert (std::is_same_v>, diff --git a/qt6debugappender/qt6debugappender.cxx b/qt6debugappender/qt6debugappender.cxx index bd605b90a..41c976a50 100644 --- a/qt6debugappender/qt6debugappender.cxx +++ b/qt6debugappender/qt6debugappender.cxx @@ -144,16 +144,15 @@ static inline std::basic_string qt_string_to_tstring (QString const & str) { - if constexpr (std::is_same_v) { + if constexpr (std::is_same_v) // If tchar is char, we can use QString's toStdString directly. return str.toStdString (); - } else if constexpr (std::is_same_v) { + else if constexpr (std::is_same_v) // If tchar is wchar_t, we need to convert QString to std::wstring. return str.toStdWString (); - } else { + else static_assert(false, "Unsupported tchar type. Only char and wchar_t are supported."); - } } } // anonymous namespace @@ -174,6 +173,11 @@ qt6_message_handler (QtMsgType type, QMessageLogContext const & qt_log_context, Logger::getInstance(LOG4CPLUS_TEXT("QtCore")) .log (ev); + + if (type == QtFatalMsg) + // If the message is fatal, we need to abort the application. + // This is similar to how Qt handles fatal messages. + std::_Exit(EXIT_FAILURE); } static_assert (std::is_same_v, From e10dd663cba375a9dde43365ce95fbc6265d7334 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Jun 2025 20:09:19 +0200 Subject: [PATCH 347/353] Add minimal .editorconfig. --- .editorconfig | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..075a691da --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +[*] +root = true +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space + +[*.{c,cc,cxx,cpp,h,hh,hxx,hpp}] +indent_size = 4 +tab_width = 4 + +[*.md] +trim_trailing_whitespace = false From 21e40c78b4f779ec51f984ea34e48ef89cf16f65 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Jun 2025 20:44:19 +0200 Subject: [PATCH 348/353] Add qt6messagehandler_test to CMake build. --- .editorconfig | 6 ++++++ qt4debugappender/CMakeLists.txt | 6 +++--- qt6debugappender/CMakeLists.txt | 2 +- tests/CMakeLists.txt | 5 ++++- tests/qt6messagehandler_test/CMakeLists.txt | 8 ++++++++ 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 tests/qt6messagehandler_test/CMakeLists.txt diff --git a/.editorconfig b/.editorconfig index 075a691da..20b9bc264 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,3 +12,9 @@ tab_width = 4 [*.md] trim_trailing_whitespace = false + +[{CMakeLists.txt}] +indent_size = 2 + +[*.cmake] +indent_size = 2 diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt index 989b4cb59..5a2e9f62a 100644 --- a/qt4debugappender/CMakeLists.txt +++ b/qt4debugappender/CMakeLists.txt @@ -16,9 +16,9 @@ if (${BUILD_SHARED_LIBS}) target_compile_definitions (${qt4debugappender} PRIVATE ${log4cplus}_EXPORTS) endif () target_link_libraries (${qt4debugappender} - ${log4cplus} - ${QT_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT}) + PUBLIC ${log4cplus} + PRIVATE ${QT_LIBRARIES} + PUBLIC ${CMAKE_THREAD_LIBS_INIT}) if (ANDROID) # Android does not seem to have SO version support. diff --git a/qt6debugappender/CMakeLists.txt b/qt6debugappender/CMakeLists.txt index 6f80a0808..6629486c1 100644 --- a/qt6debugappender/CMakeLists.txt +++ b/qt6debugappender/CMakeLists.txt @@ -2,7 +2,7 @@ set (qt6debugappender_sources qt6debugappender.cxx) message (STATUS "Configuring Qt6 Debug Appender") -find_package(Qt6 REQUIRED COMPONENTS Core)#include (${QT_USE_FILE}) +find_package(Qt6 REQUIRED COMPONENTS Core) set (qt6debugappender log4cplusqt6debugappender${log4cplus_postfix}) add_library (${qt6debugappender} ${qt6debugappender_sources}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 05878171c..e026011ff 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -15,7 +15,7 @@ function(log4cplus_add_test _name) set(_srcs ${ARGN}) # message (STATUS "${_name} sources: ${_srcs}") add_executable (${_name} ${_srcs}) - target_link_libraries (${_name} ${log4cplus}) + target_link_libraries (${_name} PUBLIC ${log4cplus}) get_filename_component (_log4cplus_properties "log4cplus.properties.in" ABSOLUTE) add_test(NAME ${_name} @@ -43,3 +43,6 @@ add_subdirectory (timeformat_test) if (WITH_UNIT_TESTS) add_subdirectory (unit_tests) endif (WITH_UNIT_TESTS) +if (LOG4CPLUS_QT6) + add_subdirectory (qt6messagehandler_test) +endif (LOG4CPLUS_QT6) diff --git a/tests/qt6messagehandler_test/CMakeLists.txt b/tests/qt6messagehandler_test/CMakeLists.txt new file mode 100644 index 000000000..73b52bcc9 --- /dev/null +++ b/tests/qt6messagehandler_test/CMakeLists.txt @@ -0,0 +1,8 @@ +log4cplus_add_test(qt6messagehandler_test main.cxx) +find_package(Qt6 REQUIRED COMPONENTS Core) +target_link_libraries (qt6messagehandler_test + PUBLIC log4cplus::qt6debugappender + PRIVATE Qt6::Core + PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +target_include_directories (qt6messagehandler_test PUBLIC ${Qt6Core_INCLUDES}) +target_compile_definitions (qt6messagehandler_test PUBLIC ${Qt6Core_DEFINITIONS}) From 4236d925704473b13699ebaf6c774c6bd9907a59 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Jun 2025 21:05:13 +0200 Subject: [PATCH 349/353] Regenerate files with Automake 1.18.1. --- Makefile.in | 2 +- aclocal.m4 | 6 +++--- compile | 4 ++-- depcomp | 4 ++-- include/Makefile.in | 2 +- install-sh | 4 ++-- missing | 4 ++-- mkinstalldirs | 4 ++-- py-compile | 4 ++-- scripts/doautoreconf.sh | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Makefile.in b/Makefile.in index 8472284b0..25df0bc1b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.18 from Makefile.am. +# Makefile.in generated by automake 1.18.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2025 Free Software Foundation, Inc. diff --git a/aclocal.m4 b/aclocal.m4 index 3ef7e38d3..48ffba4dc 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.18 -*- Autoconf -*- +# generated automatically by aclocal 1.18.1 -*- Autoconf -*- # Copyright (C) 1996-2025 Free Software Foundation, Inc. @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.18' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.18], [], +m4_if([$1], [1.18.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.18])dnl +[AM_AUTOMAKE_VERSION([1.18.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) diff --git a/compile b/compile index c404e89e4..02ff093c3 100755 --- a/compile +++ b/compile @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2025-02-03.05; # UTC +scriptversion=2025-06-18.21; # UTC # Copyright (C) 1999-2025 Free Software Foundation, Inc. # Written by Tom Tromey . @@ -358,7 +358,7 @@ exit $ret # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/depcomp b/depcomp index 1e2c35fad..9f6725b9e 100755 --- a/depcomp +++ b/depcomp @@ -1,7 +1,7 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2024-12-03.03; # UTC +scriptversion=2025-06-18.21; # UTC # Copyright (C) 1999-2025 Free Software Foundation, Inc. @@ -786,7 +786,7 @@ exit 0 # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/include/Makefile.in b/include/Makefile.in index 201d65e73..65714cdb4 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.18 from Makefile.am. +# Makefile.in generated by automake 1.18.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2025 Free Software Foundation, Inc. diff --git a/install-sh b/install-sh index 8a76989bb..1d8d96696 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2024-12-03.03; # UTC +scriptversion=2025-06-18.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -535,7 +535,7 @@ done # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/missing b/missing index 3e318cf98..5e450bab3 100755 --- a/missing +++ b/missing @@ -1,7 +1,7 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2024-12-03.03; # UTC +scriptversion=2025-06-18.21; # UTC # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells @@ -230,7 +230,7 @@ exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/mkinstalldirs b/mkinstalldirs index 02e046b9b..498a641d2 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2024-12-03.03; # UTC +scriptversion=2025-06-18.21; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -158,7 +158,7 @@ exit $errstatus # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/py-compile b/py-compile index 0cfddedb6..46de54218 100755 --- a/py-compile +++ b/py-compile @@ -1,7 +1,7 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2024-12-03.03; # UTC +scriptversion=2025-06-18.21; # UTC # Copyright (C) 2000-2025 Free Software Foundation, Inc. @@ -263,7 +263,7 @@ esac # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/scripts/doautoreconf.sh b/scripts/doautoreconf.sh index fa0fc2122..e4ba1b712 100755 --- a/scripts/doautoreconf.sh +++ b/scripts/doautoreconf.sh @@ -1,6 +1,6 @@ #!/bin/sh -export AUTOMAKE_SUFFIX=-1.18 +export AUTOMAKE_SUFFIX=-1.18.1 export AUTOCONF_SUFFIX=-2.72 export LIBTOOL_SUFFIX=-2.5.3 From 60753fa041066489d1c806c7649000c4c4dab407 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Sun, 29 Jun 2025 21:08:13 +0200 Subject: [PATCH 350/353] Regenerate with Libtool 2.5.4. --- configure | 1341 +++++++++++++++++++++++++++++++++++---- ltmain.sh | 257 ++++++-- m4/libtool.m4 | 195 ++++-- m4/ltversion.m4 | 10 +- scripts/doautoreconf.sh | 2 +- 5 files changed, 1574 insertions(+), 231 deletions(-) diff --git a/configure b/configure index 8029ee177..120dd5fd4 100755 --- a/configure +++ b/configure @@ -17472,8 +17472,8 @@ esac -macro_version='2.5.3' -macro_revision='2.5.3' +macro_version='2.5.4' +macro_revision='2.5.4' @@ -18114,9 +18114,9 @@ else case e in #( lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. + gnu* | ironclad*) + # Under GNU Hurd and Ironclad, this test is not required because there + # is no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; @@ -18678,7 +18678,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +*-mlibc) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -18712,6 +18716,10 @@ rdos*) lt_cv_deplibs_check_method=pass_all ;; +serenity*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; @@ -19603,11 +19611,8 @@ _LT_EOF test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -21010,6 +21015,21 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi + _lt_dar_needs_single_mod=no + case $host_os in + rhapsody* | darwin1.*) + _lt_dar_needs_single_mod=yes ;; + darwin*) + # When targeting Mac OS X 10.4 (darwin 8) or later, + # -single_module is the default and -multi_module is unsupported. + # The toolchain on macOS 10.14 (darwin 18) and later cannot + # target any OS version that needs -single_module. + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*-darwin[567].*|10.[0-3],*-darwin[5-9].*|10.[0-3],*-darwin1[0-7].*) + _lt_dar_needs_single_mod=yes ;; + esac + ;; + esac if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else @@ -22221,7 +22241,7 @@ lt_prog_compiler_static= lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; - *flang* | ftn) + *flang* | ftn | f18* | f95*) # Flang compiler. lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' @@ -22309,6 +22329,12 @@ lt_prog_compiler_static= lt_prog_compiler_static='-Bstatic' ;; + *-mlibc) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. @@ -22325,6 +22351,9 @@ lt_prog_compiler_static= lt_prog_compiler_static='-non_shared' ;; + serenity*) + ;; + solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' @@ -22710,9 +22739,6 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; - openbsd*) - with_gnu_ld=no - ;; esac ld_shlibs=yes @@ -22823,6 +22849,7 @@ _LT_EOF enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + file_list_spec='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -22842,7 +22869,7 @@ _LT_EOF haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes + link_all_deplibs=no ;; os2*) @@ -22948,6 +22975,7 @@ _LT_EOF case $cc_basename in tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) @@ -22968,7 +22996,12 @@ _LT_EOF fi ;; - netbsd*) + *-mlibc) + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -23377,14 +23410,14 @@ fi # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_cmds='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ - $CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' @@ -23667,11 +23700,15 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } # 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 ;; - netbsd*) + *-mlibc) + ;; + + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -23772,6 +23809,9 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } hardcode_libdir_separator=: ;; + serenity*) + ;; + solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then @@ -24415,28 +24455,28 @@ cygwin* | mingw* | windows* | pw32* | cegcc*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - # If user builds GCC with mulitlibs enabled, + # If user builds GCC with multilib enabled, # it should just install on $(libdir) # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. - if test yes = $multilib; then - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - $install_prog $dir/$dlname $destdir/$dlname~ - chmod a+x $destdir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib $destdir/$dlname'\'' || exit \$?; - fi' + if test xyes = x"$multilib"; then + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + $install_prog $dir/$dlname $destdir/$dlname~ + chmod a+x $destdir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib $destdir/$dlname'\'' || exit \$?; + fi' else - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' fi postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ @@ -24627,8 +24667,9 @@ haiku*) soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes + sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib' + sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib' + hardcode_into_libs=no ;; hpux9* | hpux10* | hpux11*) @@ -24829,6 +24870,18 @@ fi dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -24847,6 +24900,18 @@ netbsd*) hardcode_into_libs=yes ;; +*-mlibc) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='mlibc ld.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' @@ -24926,6 +24991,17 @@ rdos*) dynamic_linker=no ;; +serenity*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no @@ -25023,63 +25099,553 @@ uts4*) shlibpath_var=LD_LIBRARY_PATH ;; -*) - dynamic_linker=no - ;; -esac -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -printf "%s\n" "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - +emscripten*) + version_type=none + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + dynamic_linker="Emscripten linker" + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + *flang* | ftn | f18* | f95*) + # Flang compiler. + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + 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' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *-mlibc) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + serenity*) + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + +='-fPIC' + archive_cmds='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym' + archive_cmds_need_lc=no + no_undefined_flag= + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -26288,7 +26854,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [-]L"' else GXX=no @@ -26641,6 +27207,7 @@ fi allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -26684,7 +27251,7 @@ fi 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" - if test yes != "$lt_cv_apple_cc_single_mod"; then + if test yes = "$_lt_dar_needs_single_mod" -a 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" fi @@ -26760,7 +27327,7 @@ fi haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes + link_all_deplibs_CXX=no ;; hpux9*) @@ -26852,7 +27419,7 @@ fi # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " [-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -27084,6 +27651,10 @@ fi esac ;; + *-mlibc) + ld_shlibs_CXX=yes + ;; + netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' @@ -27191,7 +27762,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [-]L"' else # FIXME: insert proper C++ library support @@ -27206,6 +27777,9 @@ fi ld_shlibs_CXX=no ;; + serenity*) + ;; + sunos4*) case $cc_basename in CC*) @@ -27275,7 +27849,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [-]L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -27286,7 +27860,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [-]L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -27800,7 +28374,9 @@ lt_prog_compiler_static_CXX= ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) + ;; + *-mlibc) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -27830,6 +28406,8 @@ lt_prog_compiler_static_CXX= ;; psos*) ;; + serenity*) + ;; solaris*) case $cc_basename in CC* | sunCC*) @@ -28508,28 +29086,28 @@ cygwin* | mingw* | windows* | pw32* | cegcc*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - # If user builds GCC with mulitlibs enabled, + # If user builds GCC with multilib enabled, # it should just install on $(libdir) # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. - if test yes = $multilib; then - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - $install_prog $dir/$dlname $destdir/$dlname~ - chmod a+x $destdir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib $destdir/$dlname'\'' || exit \$?; - fi' + if test xyes = x"$multilib"; then + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + $install_prog $dir/$dlname $destdir/$dlname~ + chmod a+x $destdir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib $destdir/$dlname'\'' || exit \$?; + fi' else - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' fi postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ @@ -28718,8 +29296,9 @@ haiku*) soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes + sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib' + sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib' + hardcode_into_libs=no ;; hpux9* | hpux10* | hpux11*) @@ -28920,6 +29499,18 @@ fi dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -28938,6 +29529,18 @@ netbsd*) hardcode_into_libs=yes ;; +*-mlibc) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='mlibc ld.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' @@ -29017,6 +29620,17 @@ rdos*) dynamic_linker=no ;; +serenity*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no @@ -29114,6 +29728,479 @@ uts4*) shlibpath_var=LD_LIBRARY_PATH ;; +emscripten*) + version_type=none + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + dynamic_linker="Emscripten linker" + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *-mlibc) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + serenity*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + +='-fPIC' + archive_cmds_CXX='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym' + archive_cmds_need_lc_CXX=no + no_undefined_flag_CXX= + ;; + *) dynamic_linker=no ;; diff --git a/ltmain.sh b/ltmain.sh index def0a431a..3e6a3db3a 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -2,7 +2,7 @@ ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.5.3 +# libtool (GNU libtool) 2.5.4 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.5.3 -package_revision=2.5.3 +VERSION=2.5.4 +package_revision=2.5.4 ## ------ ## @@ -589,7 +589,7 @@ func_require_term_colors () # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. + # usable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes @@ -739,7 +739,7 @@ eval 'func_dirname () # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. -# value retuned in "$func_basename_result" +# value returned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () @@ -897,7 +897,7 @@ func_mkdir_p () # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. + # list in case some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done @@ -2215,7 +2215,30 @@ func_version () # End: # Set a version string. -scriptversion='(GNU libtool) 2.5.3' +scriptversion='(GNU libtool) 2.5.4' + +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + + year=`date +%Y` + + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Originally written by Gordon Matzigkeit, 1996 +(See AUTHORS for complete contributor listing) +EOF + + exit $? +} # func_echo ARG... @@ -2238,18 +2261,6 @@ func_echo () } -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - ## ---------------- ## ## Options parsing. ## ## ---------------- ## @@ -2261,19 +2272,23 @@ usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information + --finish use operation '--mode=finish' + --mode=MODE use operation mode MODE + --no-finish don't update shared library cache + --no-quiet, --no-silent print default informational messages + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --reorder-cache=DIRS reorder shared library cache for preferred DIRS + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. @@ -2306,7 +2321,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.5.3 + version: $progname $scriptversion automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2502,8 +2517,11 @@ libtool_options_prep () opt_dry_run=false opt_help=false opt_mode= + opt_reorder_cache=false opt_preserve_dup_deps=false opt_quiet=false + opt_finishing=true + opt_warning= nonopt= preserve_args= @@ -2593,14 +2611,18 @@ libtool_parse_options () clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" + *) func_error "invalid argument '$1' for $_G_opt" exit_cmd=exit - break ;; esac shift ;; + --no-finish) + opt_finishing=false + func_append preserve_args " $_G_opt" + ;; + --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" @@ -2616,6 +2638,24 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; + --reorder-cache) + opt_reorder_cache=true + shared_lib_dirs=$1 + if test -n "$shared_lib_dirs"; then + case $1 in + # Must begin with /: + /*) ;; + + # Catch anything else as an error (relative paths) + *) func_error "invalid argument '$1' for $_G_opt" + func_error "absolute paths are required for $_G_opt" + exit_cmd=exit + ;; + esac + fi + shift + ;; + --silent|--quiet) opt_quiet=: opt_verbose=false @@ -2652,6 +2692,18 @@ libtool_parse_options () func_add_hook func_parse_options libtool_parse_options +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + if $opt_warning; then + $debug_cmd + $warning_func ${1+"$@"} + fi +} + # libtool_validate_options [ARG]... # --------------------------------- @@ -3181,6 +3233,15 @@ func_convert_path_front_back_pathsep () # end func_convert_path_front_back_pathsep +# func_convert_delimited_path PATH ORIG_DELIMITER NEW_DELIMITER +# Replaces a delimiter for a given path. +func_convert_delimited_path () +{ + converted_path=`$ECHO "$1" | $SED "s#$2#$3#g"` +} +# end func_convert_delimited_path + + ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## @@ -3515,6 +3576,65 @@ func_dll_def_p () } +# func_reorder_shared_lib_cache DIRS +# Reorder the shared library cache by unconfiguring previous shared library cache +# and configuring preferred search directories before previous search directories. +# Previous shared library cache: /usr/lib /usr/local/lib +# Preferred search directories: /tmp/testing +# Reordered shared library cache: /tmp/testing /usr/lib /usr/local/lib +func_reorder_shared_lib_cache () +{ + $debug_cmd + + case $host_os in + openbsd*) + get_search_directories=`PATH="$PATH:/sbin" ldconfig -r | $GREP "search directories" | $SED "s#.*search directories:\ ##g"` + func_convert_delimited_path "$get_search_directories" ':' '\ ' + save_search_directories=$converted_path + func_convert_delimited_path "$1" ':' '\ ' + + # Ensure directories exist + for dir in $converted_path; do + # Ensure each directory is an absolute path + case $dir in + /*) ;; + *) func_error "Directory '$dir' is not an absolute path" + exit $EXIT_FAILURE ;; + esac + # Ensure no trailing slashes + func_stripname '' '/' "$dir" + dir=$func_stripname_result + if test -d "$dir"; then + if test -n "$preferred_search_directories"; then + preferred_search_directories="$preferred_search_directories $dir" + else + preferred_search_directories=$dir + fi + else + func_error "Directory '$dir' does not exist" + exit $EXIT_FAILURE + fi + done + + PATH="$PATH:/sbin" ldconfig -U $save_search_directories + PATH="$PATH:/sbin" ldconfig -m $preferred_search_directories $save_search_directories + get_search_directories=`PATH="$PATH:/sbin" ldconfig -r | $GREP "search directories" | $SED "s#.*search directories:\ ##g"` + func_convert_delimited_path "$get_search_directories" ':' '\ ' + reordered_search_directories=$converted_path + + $ECHO "Original: $save_search_directories" + $ECHO "Reordered: $reordered_search_directories" + exit $EXIT_SUCCESS + ;; + *) + func_error "--reorder-cache is not supported for host_os=$host_os." + exit $EXIT_FAILURE + ;; + esac +} +# end func_reorder_shared_lib_cache + + # func_mode_compile arg... func_mode_compile () { @@ -4087,6 +4207,12 @@ if $opt_help; then fi +# If option '--reorder-cache', reorder the shared library cache and exit. +if $opt_reorder_cache; then + func_reorder_shared_lib_cache $shared_lib_dirs +fi + + # func_mode_execute arg... func_mode_execute () { @@ -4271,7 +4397,7 @@ func_mode_finish () fi fi - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs" && $opt_finishing; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. @@ -4296,6 +4422,12 @@ func_mode_finish () for libdir in $libdirs; do $ECHO " $libdir" done + if test "false" = "$opt_finishing"; then + echo + echo "NOTE: finish_cmds were not executed during testing, so you must" + echo "manually run ldconfig to add a given test directory, LIBDIR, to" + echo "the search path for generated executables." + fi echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" @@ -4532,8 +4664,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then + # Strip any trailing slash from the destination. + func_stripname '' '/' "$libdir" + destlibdir=$func_stripname_result + + func_stripname '' '/' "$destdir" + s_destdir=$func_stripname_result + # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that @@ -6782,6 +6921,7 @@ func_mode_link () finalize_command=$nonopt compile_rpath= + compile_rpath_tail= finalize_rpath= compile_shlibpath= finalize_shlibpath= @@ -7337,7 +7477,8 @@ func_mode_link () # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) + # -q