From ab2a61683a9e110d85148a822b03a389658f0e01 Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Thu, 6 Jul 2023 14:55:31 +0200 Subject: [PATCH 001/138] 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 002/138] 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 7a173177e2594a3213ce78c5b3a881389a8ace3a Mon Sep 17 00:00:00 2001 From: Vaclav Haisman Date: Wed, 13 Dec 2023 21:12:46 +0100 Subject: [PATCH 003/138] 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 004/138] 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 005/138] 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 006/138] 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 007/138] 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 008/138] 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 009/138] 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 010/138] 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 011/138] 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 012/138] 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 013/138] 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 014/138] 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 015/138] 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 016/138] 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 017/138] 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 018/138] 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 019/138] 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 020/138] 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 021/138] 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 022/138] 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 023/138] 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 024/138] 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 025/138] 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 026/138] 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 027/138] 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 028/138] 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 029/138] 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 030/138] 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 031/138] 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 032/138] 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 033/138] 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 034/138] 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 035/138] 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 036/138] 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 037/138] 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 038/138] 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 039/138] 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 040/138] 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 041/138] 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 042/138] 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 043/138] 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 044/138] 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 045/138] 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 046/138] 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 047/138] 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 048/138] 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 049/138] 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 050/138] 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 051/138] 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 052/138] 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 053/138] 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 054/138] 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 055/138] 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 056/138] 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 057/138] 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 058/138] 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 059/138] 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 060/138] 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 061/138] 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 062/138] 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 063/138] 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 064/138] 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 065/138] 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 066/138] 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 067/138] 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 068/138] 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 069/138] 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 070/138] 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 071/138] 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 072/138] 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 073/138] 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 074/138] 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 075/138] 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 076/138] 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 077/138] 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 078/138] 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 079/138] 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 080/138] 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 081/138] 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 082/138] 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 083/138] 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 084/138] 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 085/138] 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 086/138] 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 087/138] 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 088/138] 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 089/138] 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 090/138] 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 091/138] 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 092/138] 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 093/138] 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 094/138] 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 095/138] 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 096/138] 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 097/138] 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 098/138] 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 099/138] 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 100/138] 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 101/138] 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 102/138] 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 103/138] 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 104/138] 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 105/138] 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 106/138] 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 107/138] 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 108/138] 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 109/138] 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 110/138] 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 111/138] 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 112/138] 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 113/138] 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 114/138] 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 115/138] 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 116/138] 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 117/138] 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 118/138] 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 119/138] 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 120/138] 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 121/138] 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 122/138] 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 123/138] 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 124/138] 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 125/138] 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 126/138] 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 127/138] 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 128/138] 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 129/138] =?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 130/138] 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 131/138] 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 132/138] 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 133/138] 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 134/138] 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 135/138] 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