2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# global
|
|
|
|
#
|
|
|
|
# Global build configuration
|
|
|
|
#
|
|
|
|
# Environment variables:
|
|
|
|
# POCO_BASE: Path to POCO source tree. Must be defined.
|
|
|
|
# POCO_BUILD: Path to directory where build files are put.
|
|
|
|
# Defaults to $(POCO_BASE)
|
2023-10-18 18:48:20 +02:00
|
|
|
# POCO_BUILD_STDERR: Redirect command for build errors log file.
|
2012-04-23 03:14:34 +02:00
|
|
|
# POCO_CONFIG: Build configuration to use.
|
|
|
|
# Defaults to `uname`.
|
|
|
|
# POCO_TARGET_OSNAME: Target system operating system name (for cross builds)
|
|
|
|
# POCO_TARGET_OSARCH: Target system architecture (forr cross builds)
|
|
|
|
#
|
|
|
|
|
2024-10-10 10:36:13 +02:00
|
|
|
ifndef POCO_ENABLE_TRACE
|
2022-06-18 05:46:39 +02:00
|
|
|
target := $(strip $(target))
|
|
|
|
target_version := $(strip $(target_version))
|
|
|
|
target_libs := $(strip $(target_libs))
|
2024-10-10 10:36:13 +02:00
|
|
|
endif
|
2022-06-18 05:46:39 +02:00
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# Check for POCO_BASE
|
|
|
|
#
|
|
|
|
ifndef POCO_BASE
|
|
|
|
$(error POCO_BASE is not defined.)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Include some optional make configuration
|
|
|
|
#
|
2016-03-01 08:23:11 +01:00
|
|
|
sinclude $(POCO_BASE)/config.build
|
2023-11-01 00:25:21 +01:00
|
|
|
sinclude $(POCO_BASE)/config.make
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Check for PROJECT_BASE
|
|
|
|
#
|
|
|
|
ifndef PROJECT_BASE
|
|
|
|
PROJECT_BASE = $(POCO_BASE)
|
|
|
|
endif
|
|
|
|
export PROJECT_BASE
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info PROJECT_BASE = $(PROJECT_BASE))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Check for POCO_BUILD
|
|
|
|
#
|
|
|
|
ifndef POCO_BUILD
|
|
|
|
POCO_BUILD = $(PROJECT_BASE)
|
|
|
|
endif
|
|
|
|
export POCO_BUILD
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info POCO_BUILD = $(POCO_BUILD))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
|
2023-10-18 18:48:20 +02:00
|
|
|
#
|
|
|
|
# Build errors/warnings output
|
|
|
|
#
|
|
|
|
ifndef POCO_BUILD_STDERR
|
|
|
|
POCO_BUILD_STDERR_FILE = "$(POCO_BASE)/build/poco_build_stderr.out"
|
|
|
|
$(shell rm -f $(POCO_BUILD_STDERR_FILE))
|
|
|
|
POCO_BUILD_STDERR = 2>&1|tee -a $(POCO_BUILD_STDERR_FILE)
|
|
|
|
endif
|
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# POCO_BASE/POCO_BUILD/cwd sanity checks
|
|
|
|
#
|
|
|
|
# Ensure that the current working directory is either
|
|
|
|
# under $POCO_BASE or under $PROJECT_BASE
|
|
|
|
# Also, if we're building under $POCO_BASE, disarm
|
|
|
|
# $PROJECT_BASE
|
|
|
|
#
|
|
|
|
cwd = $(shell pwd)
|
|
|
|
inpoco = $(shell echo | awk '{print index("$(cwd)","$(POCO_BASE)")}')
|
|
|
|
inproj = $(shell echo | awk '{print index("$(cwd)","$(PROJECT_BASE)")}')
|
2012-10-01 02:31:28 +02:00
|
|
|
ifneq ($(inpoco),0)
|
2012-04-23 03:14:34 +02:00
|
|
|
PROJECT_BASE = $(POCO_BASE)
|
|
|
|
else
|
2012-10-01 02:31:28 +02:00
|
|
|
ifneq ($(inproj),0)
|
2012-04-23 03:14:34 +02:00
|
|
|
else
|
|
|
|
$(error Current working directory not under $$PROJECT_BASE)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Determine OS
|
|
|
|
#
|
|
|
|
POCO_HOST_OSNAME = $(shell uname)
|
|
|
|
ifeq ($(findstring CYGWIN,$(POCO_HOST_OSNAME)),CYGWIN)
|
|
|
|
POCO_HOST_OSNAME = CYGWIN
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(findstring MINGW,$(POCO_HOST_OSNAME)),MINGW)
|
|
|
|
POCO_HOST_OSNAME = MinGW
|
|
|
|
endif
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info POCO_HOST_OSNAME = $(POCO_HOST_OSNAME))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2015-11-17 10:19:40 +01:00
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
POCO_HOST_OSARCH ?= $(subst /,-,$(shell uname -m | tr ' ' _))
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info POCO_HOST_OSARCH = $(POCO_HOST_OSARCH))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Begin Sun platforms
|
|
|
|
#
|
|
|
|
# Pure Solaris or GNU (Nexenta), Sun Forte and Sun Studio compilers supported
|
|
|
|
# (on Nexenta, the default compiler is g++)
|
|
|
|
#
|
|
|
|
ifndef POCO_CONFIG
|
|
|
|
ifeq ($(findstring SunOS,$(POCO_HOST_OSNAME)),SunOS)
|
|
|
|
# detect if this is Nexenta platform
|
|
|
|
POCO_HOST_ALL_OSNAME := $(shell uname -a)
|
|
|
|
ifeq ($(findstring Nexenta,$(POCO_HOST_ALL_OSNAME)),Nexenta)
|
|
|
|
POCO_HOST_OSNAME := Nexenta
|
|
|
|
else # Up to version 5.5 SunOS-SunForte config is used, 5.6 and above use SunOS-SunStudio
|
|
|
|
POCO_COMPILER_NAME := $(shell CC -V 2>&1)
|
|
|
|
POCO_COMPILER_VERSION := $(subst .,,$(filter 5.%,$(POCO_COMPILER_NAME)))
|
|
|
|
|
|
|
|
ifeq (0, $(shell test $(POCO_COMPILER_VERSION) -gt 55; echo $$?))
|
|
|
|
POCO_CONFIG := SunOS-SunStudio
|
|
|
|
else
|
|
|
|
POCO_CONFIG := SunOS-SunForte
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
#
|
|
|
|
# End Sun Platforms
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# If POCO_CONFIG is not set, use the OS name as configuration name
|
|
|
|
#
|
|
|
|
ifndef POCO_CONFIG
|
|
|
|
POCO_CONFIG = $(POCO_HOST_OSNAME)
|
|
|
|
endif
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info POCO_CONFIG = $(POCO_CONFIG))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Include System Specific Settings
|
|
|
|
#
|
|
|
|
include $(POCO_BASE)/build/config/$(POCO_CONFIG)
|
|
|
|
|
2012-07-07 18:03:21 +02:00
|
|
|
#
|
|
|
|
# Determine operating system
|
|
|
|
#
|
|
|
|
ifndef POCO_TARGET_OSNAME
|
|
|
|
OSNAME := $(POCO_HOST_OSNAME)
|
|
|
|
else
|
|
|
|
OSNAME := $(POCO_TARGET_OSNAME)
|
|
|
|
endif
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info OSNAME = $(OSNAME))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2015-11-17 10:19:40 +01:00
|
|
|
|
2012-07-07 18:03:21 +02:00
|
|
|
ifndef POCO_TARGET_OSARCH
|
|
|
|
OSARCH := $(subst /,-,$(shell uname -m | tr ' ' _))
|
|
|
|
else
|
|
|
|
OSARCH := $(POCO_TARGET_OSARCH)
|
|
|
|
endif
|
2016-03-01 17:43:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
2016-03-06 11:10:25 +01:00
|
|
|
$(info OSARCH = $(OSARCH))
|
2016-03-01 08:23:11 +01:00
|
|
|
endif
|
2015-11-17 10:19:40 +01:00
|
|
|
|
2012-07-07 18:03:21 +02:00
|
|
|
HOSTNAME := $(shell hostname)
|
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# Check if a 64bit build is requested
|
|
|
|
#
|
|
|
|
ifndef OSARCH_64BITS
|
|
|
|
OSARCH_64BITS = 0
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(OSARCH_64BITS),1)
|
|
|
|
OSARCH_POSTFIX = 64
|
|
|
|
else
|
|
|
|
OSARCH_POSTFIX =
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
2012-07-07 18:03:21 +02:00
|
|
|
# Detect distro
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
2012-07-07 18:03:21 +02:00
|
|
|
|
|
|
|
# Fedora, Redhat, Centos.
|
|
|
|
REDHATISH = $(if $(wildcard /etc/redhat-release /etc/centos-release /etc/fedora-release),1)
|
|
|
|
# Debian, Ubuntu
|
|
|
|
DEBIANISH = $(if $(wildcard /etc/debian_version),1)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Adjust suffix for 64-bit lib directory
|
|
|
|
#
|
|
|
|
ifneq ($(REDHATISH),)
|
|
|
|
LIB64SUFFIX = $(if $(filter $(OSARCH),x86_64 sparc64 ppc64),64,)
|
|
|
|
else ifneq ($(DEBIANISH),)
|
|
|
|
LIB64SUFFIX = $(if $(filter $(OSARCH),x86_64 sparc64 ppc64),/x86_64-linux-gnu,)
|
2012-04-23 03:14:34 +02:00
|
|
|
endif
|
|
|
|
|
2012-07-10 05:58:41 +02:00
|
|
|
# Default static lib extension
|
|
|
|
STATICLIBLINKEXT = .a
|
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# Find out current component
|
|
|
|
#
|
|
|
|
COMPONENT := $(shell $(POCO_BASE)/build/script/projname "$(PROJECT_BASE)")
|
|
|
|
|
|
|
|
#
|
|
|
|
# Define standard directories
|
|
|
|
#
|
|
|
|
SRCDIR = src
|
|
|
|
INCDIR = include
|
Dev/devel 1.12.0 (#3585)
* fix(PollSet): #3248 #3249
* bump version to 1.11.0
* updated changelog|
* #3299: NetSSL: Allow per-Context InvalidCertificateHandler
* #3022: Process::isRunning(PID pid) causes handle leak on Windows
* #3022: fix for WinCE
* upgrade bundled pdjson to latest master
* update build configs - add support for Apple Silicon
* #2906, #2904: Support environments without hardware floating point
* #3130: fix error handling: report original error before close()
* #3107: remove unused variable
* #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage
* Poco::trim*() code cleanup - use ptrdiff_t instead of int; additional test cases
* #3182 Poco::Process:launch on MacOS BigSur: limit maximum number of file descriptors to close before exec() to 100000
* #3278: Fixing no hardware floating point support - Part II
* #3090: Do not initialize value with undefined behavior
* #3163: Correct Var::parse null value
* #3196: std::forward for Poco::Optional ctor with rvalue
* #3068: Documented ENABLE_JWT option
* #3041: PostgreSQL and TEXT column type
* #3099: Fixed Postgres extraction into Dynamic::Var
* #3138: Add support of arch riscv32
* #2825: riscv: Enable double operations when using double float abi
* #3166: Fix PostgresSQL BLOB extractor
* #3237: An error in the documentation for Poco/JSON/Parser.h
* #3193: ServerApplication::registerService() unquoted path security vulnerability
* #3266: Order of Util::Application::uninitialize() is not in reverse as documented
* #3215: XML parser returns item from different element in a array
* #3282: Update constant in setContentType documentation
* #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig
* #2418: SecureServerSocket doesn't work with IpV6
* fix warnings
* #3019: ObjectPool wait on borrow condition fix
* #3224: Remove SSL23 support from Poco/Crypto
* #3191: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
* disallow SSLv3
* #3269: Poco::Net::Context initialization with empty certificateFile
* #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint
* #3260: Memory leak in EVPPKey::loadKey used with files & wrong password
* #3157: fix(openssl): add missing dependency to OpenSSL components
* #3066: CMake warning about MYSQL casing
* #3135: Poco::Data::SQLite::Utility::fileToMemory unsuccessful if journal exists
* #3217: CMake: warning message with -DPOCO_STATIC confusing
* #3274: Fix localtime_r for VxWorks 6.9 and later
* #2746, #3169: Fix race condition on TCPServerDispatcher stop
* #3092: add more detailed error description when LoadLibrary fails|
* #3074: Fix sessions may not return back to the pool
* #3309: optimize parsing from stream (no copying of entire JSON to memory); limit maximum depth to avoid stack overflow with malicious documents (fuzzing - #3285); code cleanup
* JSON Parser performance improvements
* #3310: Upgrade bundled SQLite to 3.35.5
* fix UB/bad cast in TCPServerTest.cpp
* add comment regarding potential UB in AnyTest::testCastToReference()
* support sanitizers in build configs
* bump version
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* remove failing Android build; add sanitizer builds
* update postgres version
* fix warning
* fix warning
* add GitHub workflow
* fix ci.yml
* fix ci.yml
* additional ci builds
* fix ci.yml for macos and windows
* fix(double-conversion): Upgrade bundled double-conversion #3313
* ci fixes
* #3314: NetSSL_OpenSSL: any.pem certificate error: ca md too weak
* testReuseSession: remove bad checks for session reuse
* investigate failing test
* investigate failing test
* investigate failing test
* investigate failing test
* ci
* remove travis and appveyor
* ci, readme
* ci fixes
* fix ci
* fix ci
* fix ci
* fix memory leak when ignoring test error/failure
* fix ci
* don't define UNREACHABLE as poco_bugcheck as it triggers 'control reaches end of non-void function' warning
* add Linux cross build, build Data libs on macos
* fix ci
* add MySQL include/lib search paths for Homebrew
* ci fixes
* ci fixes
* ci fixes
* ci fixes
* fix indluce paths for brew mysql
* #3317: Data::MySQL MySQL headers and library search paths
* fix ARM-Linux build config
* fix MySQL.make
* update FindMySQL.cmake
* fix(SocketReactor): fix dataCollection test
* chore: remove troubleshooting help leftovers
* #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]]
* fix potential crash in testAsyncNotify: don't delete event object while async notification is still in progress
* fix(PollSetTest): change connect to blocking
* added ActiveRecord library and compiler
* added dependencies file
* update copyright dates
* ActiveRecord: project files and fixes for MSVC
* ci: enable ActiveRecord on Windows
* fix(PollSetTest): remove poll timing check (fails on msvc ci)
* fix ActiveRecord CMake build and configuration
* feat(build): add gen directory (for generated sources) and macchina lib link dirs (if needed)
* #3318: Data: Support Poco::UUID for data binding
* ODBC tests for UUID, updated ActiveRecord projects
* ActiveRecord user guide
* update ActiveRecord documentation
* documentation fixes
* #3321: manually merge ODBC text encoding support
* CppParser: merge changes from internal repository
* updated Makefile
* AbstractObserver::accepts() - add optional name parameter
* fix SharedPtr::makeSharedArray() [merge from devel]
* remove blank line
* #2895, #2935: support OCSP stapling
* style
* clang support (merge from devel)
* #3322: remove useless struct
* link libmariadb instead of libmysql if headers indicate MariaDB
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix PageCompiler cross-compile; fix Content-Security-Policy header
* remove Data release notes page
* style, remove unused var
* update docs
* improve BLOB handling, clean-up code
* fix(ICMPv4Packet): [asan] Undefined behavior in ICMPv4PacketImpl.cpp #3326
* fix(NumericString): Bug in NumericString with decSep != '.' #3159
* fix(HostEntry): DNS HostEntry returns multiple entries #3303
* fix(PollSet): #3248 #3249
* fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301
* style/whitespace
* fix warnings
* add version resources to executables
* style
* whitespace
* update changelog
* cpproj: also copy testsuite/include if it's there
* branch off 1.11.1
* #3335: XML error when build 1.11.0
* #3353: add POCO_NO_FORK_EXEC CMake option
* #3381: DNS::hostByAddress not thread-safe
* #3400: fix std::localtime not thread safe
* #3221: Crash reported on Windows in X509Certificate verification
* #3344: [bug] MacOS bundle destination path is not set
* #3360: Add POCO_PGSQL_{INCLUDE,LIB} variables
* #3363: Fixed compilation error with MongoDB::Connection and Util::Application
* #3377: Correct Poco::Path::configHome() and dataHome() documentation for Windows
* #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648
* #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher
* #2966: SocketReactor loads one core of CPU up to 100%
* #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash
* use OpenSSL 1.1.1 on macOS
* add missing include search path
* upgrade bundled PCRE to 8.45
* upgrade bundled SQLite to 3.36.0
* updated changelog
* fix brew OpenSSL version
* branch off poco-1.11.2
* #3506: Upgrade bundled expat to 2.4.4
* manually merge #3448, part 1 (Crypto)
* manually merge #3448, part 1 (NetSSL)
* #3515: NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate
* #3448: fix version check
* #3465: NetSSL_Win: bad error handling when decodeMessage() fails
* #3458: encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest
* #3505: JSON::PrintHandler.value(bool) prints incorrect value
* #3527: Upgrade bundled expat to 2.4.5
* #3470: bug in JSON ParseHandler.cpp (RFC 7159 should be valid)
* #3507: Reference counting for bound configuration in Util::Option is broken
* #3518: Expat version check in #defines incorrect
* #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1
* CI: don't build PageCompiler in ARM cross build
* detect ARM64 on Windows
* updated README.md
* ProGen: support generation of VS 2022 project files
* ci: add windows 2022
* fix library name
* remove unused CppUnit headers
* added VS2022 project files
* #3530: Upgrade bundled expat to 2.4.6
* #3538: Upgrade bundled expat to 2.4.7
* Add back NIOS2 double conversion detection to fix compile errors
The commit
https://github.com/pocoproject/poco/commit/558324f672d824300498060aff63356bc6bb8097
removed the nios2 support, which was originally added in
https://github.com/pocoproject/poco/commit/e7b91e8125d6910b53f94de5be4bb53f38dc77c1
This commit add it back.
Signed-off-by: Julien Olivain <ju.o@free.fr>
* #3466: DefinePlatformSpecific.cmake: handle RelWithDebInfo and MinSizeRel configurations
* #3524: remove XML and Util dependencies in Zip/SevenZip
* #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName()
* #3495: Array::operator[] should not throw
* #3268: Poco redis command set have a bug when you want to set nx ex or expireTime
* #3509: fix dst and utcOffset handling for Dublin time zone
* #2882: another attempt at fixing it that should also work on other platforms
* remove unused method in Timezone_WIN32.cpp
* use tm_gmtoff on Linux
* Basic support for OpenSSL 3.0.0 (#3448)
* updated README.md
* Create close-inactive-issues.yml
* check return codes of EVP_CIPHER_CTX_new and EVP_CipherInit
Especially with OpenSSL 3, it is possible that EVP_CipherInit may fail even when
passed a non-null cipher[1]. Without the checking, it will finally get to a
segfault.
[1] https://github.com/openssl/openssl/issues/16864
* Automatically load default and legacy providers with OpenSSL 3
Without the legacy provider [1], some ciphers are not available. For example,
the 'des-ecb' one used by test sutie is missed and the test will fail.
[1] OSSL_PROVIDER-LEGACY(7ossl)
* Make p12 ca order the same as pem
OpenSSL < 3 returns p12 ca order in reversed order. This is fixed
in OpenSSL 3. We work around it with old OpenSSL.
See:
https://github.com/openssl/openssl/issues/16421
https://github.com/openssl/openssl/pull/12641
https://github.com/jeroen/openssl/commit/f5eb85eb0fd432406a24abda6511c449eaee6162
* Implement SSL abort handling on OpenSSL 3
On an unexpected EOF, versions before OpenSSL 3.0 returned SSL_ERROR_SYSCALL,
nothing was added to the error stack, and errno was 0. Since OpenSSL 3.0 the
returned error is SSL_ERROR_SSL with a meaningful error on the error stack.[1]
[1] SSL_GET_ERROR(3ossl)
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
* fix(Socket): shutdown fixes from pull #3448
* #3500: Sandbox all iFrames in PocoDoc
* #3549; replace assert with assertTrue
* #3553: Upgrade bundled zlib to 1.2.12
* #3525: Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM
* disable OpenSSL deprecation warnings
* chore: cleanup
* fix(X509Certificate): add missing string format
* #3559: Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds
* feat(EVP): 3.0 support
- add EVPCipher
- additional EVPPKey constructors
- tests
- fix and improve openssl-related exceptions
Transition towards 3.0 support;
deprecating direct EC and RSA interface portions.
* fix(openssl): pre 3.0 compile
* feat(Envelope): Add envelope to crypto #3561
* fix(Envelope): mac/clang compile
* fix(Any): #3297 #3514
* #3562: fixed OpenSSL setup/shutdown
* fix exception text
* #3563: Remove support for OpenSSL < 1.0
* ci jobs for OpenSSL 1.1 and 3
* updated CHANGELOG
* updated .vscode
* Refactor/any soo (#3564)
* refactor(Any): SOO
- encapsulate data holders
- add missing gets and ops
- eliminate g++ warnings with enable_if's
- default enable SOO
* refactor(Placeholder): encapsulate SOO memory management and fix leaks; cf. #3297 #3514
* fix(Placeholder): asan errors and add tests
cf. #3297 #3514
* fix(SSLManager): Race condition in SSLManager #3558
* remove unused include
* updated copyright date
* PocoDoc: fix iframe sandboxing
* fix(SHA2Engine): cannot use HMACEngine with SHA2Engine #3421
* refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566)
* refactor(Placeholder): more SOO consolidation and optimization
* fix(FPEnvironment): Visual Studio Warning C4244 #3543
* fix(Extractor): move extraction decoding to AbstractExtractor #3396
* Netssl/openssl3 (#3575)
* feat(Context): DH init openssl3 port (1/2 hardcoded params)
* create poco-1.11.3 branch, bump version
* update copyright date
* #3567: check legacy provider existence for legacy exception #3567
* fix(Placeholder): comparison for zero value
* feat(Context): DH init openssl3 port (2/2 params from file)
* test(HTTPSClientSession): try/catch to understand CI failure
* chore(cmake): copy the DH parameters file
* fix(OpenSSLInitializer): unload provider on uninitialize
* chore(HTTPSClientSessionTest): remove try/catch
* fix(OpenSSLInitializer): fix provider unloading
* feat(CppUnit): make tests exceptions more descriptive
* chore(CppUnit): a more descriptive name for callback
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
* fix(Foundation): update VS 2019 platform version
* chore(Data): update VS project files (add Transcoder #3396)
* fix(Data): Poco::Data::ODBC-dbEncoding property not used for insert/update #3396
* fix(Data): add transcoder to Makefile #3396
* fix(JWT): remove duplicate test functions after merge
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Julien Olivain <ju.o@free.fr>
Co-authored-by: Robin Lee <robinlee.sysu@gmail.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
2022-05-04 20:57:08 +02:00
|
|
|
GENDIR = gen
|
2012-04-23 03:14:34 +02:00
|
|
|
LIBDIR = lib/$(OSNAME)/$(OSARCH)
|
|
|
|
BINDIR = bin/$(OSNAME)/$(OSARCH)
|
|
|
|
OBJDIR = obj/$(OSNAME)/$(OSARCH)
|
|
|
|
DEPDIR = .dep/$(OSNAME)/$(OSARCH)
|
|
|
|
LIBPATH = $(POCO_BUILD)/$(LIBDIR)
|
|
|
|
BINPATH = $(POCO_BUILD)/$(COMPONENT)/$(BINDIR)
|
|
|
|
OBJPATH = $(POCO_BUILD)/$(COMPONENT)/$(OBJDIR)
|
|
|
|
DEPPATH = $(POCO_BUILD)/$(COMPONENT)/$(DEPDIR)
|
|
|
|
|
|
|
|
POCO_HOST_BINDIR = bin/$(POCO_HOST_OSNAME)/$(POCO_HOST_OSARCH)
|
|
|
|
POCO_TARGET_BINDIR = $(BINDIR)
|
|
|
|
POCO_HOST_BINPATH = $(POCO_BUILD)/$(POCO_HOST_BINDIR)
|
|
|
|
POCO_TARGET_BINPATH = $(BINPATH)
|
|
|
|
POCO_HOST_LIBDIR = lib/$(POCO_HOST_OSNAME)/$(POCO_HOST_OSARCH)
|
|
|
|
POCO_TARGET_LIBDIR = $(LIBDIR)
|
|
|
|
POCO_HOST_LIBPATH = $(POCO_BUILD)/$(POCO_HOST_LIBDIR)
|
|
|
|
POCO_TARGET_LIBPATH = $(LIBPATH)
|
2015-01-13 14:38:43 +01:00
|
|
|
ifdef POCO_PREFIX
|
|
|
|
POCO_LIB_INSTALLDIR = $(POCO_PREFIX)/lib
|
|
|
|
else
|
|
|
|
POCO_LIB_INSTALLDIR = $(LIBPATH)
|
|
|
|
endif
|
2016-03-06 11:10:25 +01:00
|
|
|
ifdef POCO_VERBOSE
|
|
|
|
$(info POCO_LIB_INSTALLDIR = $(POCO_LIB_INSTALLDIR))
|
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
ifeq ($(POCO_BASE),$(PROJECT_BASE))
|
|
|
|
POCO_LIBRARY =
|
|
|
|
else
|
|
|
|
POCO_LIBRARY = -L$(POCO_BASE)/$(LIBDIR)
|
|
|
|
endif
|
|
|
|
|
Dev/devel 1.12.0 (#3585)
* fix(PollSet): #3248 #3249
* bump version to 1.11.0
* updated changelog|
* #3299: NetSSL: Allow per-Context InvalidCertificateHandler
* #3022: Process::isRunning(PID pid) causes handle leak on Windows
* #3022: fix for WinCE
* upgrade bundled pdjson to latest master
* update build configs - add support for Apple Silicon
* #2906, #2904: Support environments without hardware floating point
* #3130: fix error handling: report original error before close()
* #3107: remove unused variable
* #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage
* Poco::trim*() code cleanup - use ptrdiff_t instead of int; additional test cases
* #3182 Poco::Process:launch on MacOS BigSur: limit maximum number of file descriptors to close before exec() to 100000
* #3278: Fixing no hardware floating point support - Part II
* #3090: Do not initialize value with undefined behavior
* #3163: Correct Var::parse null value
* #3196: std::forward for Poco::Optional ctor with rvalue
* #3068: Documented ENABLE_JWT option
* #3041: PostgreSQL and TEXT column type
* #3099: Fixed Postgres extraction into Dynamic::Var
* #3138: Add support of arch riscv32
* #2825: riscv: Enable double operations when using double float abi
* #3166: Fix PostgresSQL BLOB extractor
* #3237: An error in the documentation for Poco/JSON/Parser.h
* #3193: ServerApplication::registerService() unquoted path security vulnerability
* #3266: Order of Util::Application::uninitialize() is not in reverse as documented
* #3215: XML parser returns item from different element in a array
* #3282: Update constant in setContentType documentation
* #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig
* #2418: SecureServerSocket doesn't work with IpV6
* fix warnings
* #3019: ObjectPool wait on borrow condition fix
* #3224: Remove SSL23 support from Poco/Crypto
* #3191: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
* disallow SSLv3
* #3269: Poco::Net::Context initialization with empty certificateFile
* #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint
* #3260: Memory leak in EVPPKey::loadKey used with files & wrong password
* #3157: fix(openssl): add missing dependency to OpenSSL components
* #3066: CMake warning about MYSQL casing
* #3135: Poco::Data::SQLite::Utility::fileToMemory unsuccessful if journal exists
* #3217: CMake: warning message with -DPOCO_STATIC confusing
* #3274: Fix localtime_r for VxWorks 6.9 and later
* #2746, #3169: Fix race condition on TCPServerDispatcher stop
* #3092: add more detailed error description when LoadLibrary fails|
* #3074: Fix sessions may not return back to the pool
* #3309: optimize parsing from stream (no copying of entire JSON to memory); limit maximum depth to avoid stack overflow with malicious documents (fuzzing - #3285); code cleanup
* JSON Parser performance improvements
* #3310: Upgrade bundled SQLite to 3.35.5
* fix UB/bad cast in TCPServerTest.cpp
* add comment regarding potential UB in AnyTest::testCastToReference()
* support sanitizers in build configs
* bump version
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* remove failing Android build; add sanitizer builds
* update postgres version
* fix warning
* fix warning
* add GitHub workflow
* fix ci.yml
* fix ci.yml
* additional ci builds
* fix ci.yml for macos and windows
* fix(double-conversion): Upgrade bundled double-conversion #3313
* ci fixes
* #3314: NetSSL_OpenSSL: any.pem certificate error: ca md too weak
* testReuseSession: remove bad checks for session reuse
* investigate failing test
* investigate failing test
* investigate failing test
* investigate failing test
* ci
* remove travis and appveyor
* ci, readme
* ci fixes
* fix ci
* fix ci
* fix ci
* fix memory leak when ignoring test error/failure
* fix ci
* don't define UNREACHABLE as poco_bugcheck as it triggers 'control reaches end of non-void function' warning
* add Linux cross build, build Data libs on macos
* fix ci
* add MySQL include/lib search paths for Homebrew
* ci fixes
* ci fixes
* ci fixes
* ci fixes
* fix indluce paths for brew mysql
* #3317: Data::MySQL MySQL headers and library search paths
* fix ARM-Linux build config
* fix MySQL.make
* update FindMySQL.cmake
* fix(SocketReactor): fix dataCollection test
* chore: remove troubleshooting help leftovers
* #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]]
* fix potential crash in testAsyncNotify: don't delete event object while async notification is still in progress
* fix(PollSetTest): change connect to blocking
* added ActiveRecord library and compiler
* added dependencies file
* update copyright dates
* ActiveRecord: project files and fixes for MSVC
* ci: enable ActiveRecord on Windows
* fix(PollSetTest): remove poll timing check (fails on msvc ci)
* fix ActiveRecord CMake build and configuration
* feat(build): add gen directory (for generated sources) and macchina lib link dirs (if needed)
* #3318: Data: Support Poco::UUID for data binding
* ODBC tests for UUID, updated ActiveRecord projects
* ActiveRecord user guide
* update ActiveRecord documentation
* documentation fixes
* #3321: manually merge ODBC text encoding support
* CppParser: merge changes from internal repository
* updated Makefile
* AbstractObserver::accepts() - add optional name parameter
* fix SharedPtr::makeSharedArray() [merge from devel]
* remove blank line
* #2895, #2935: support OCSP stapling
* style
* clang support (merge from devel)
* #3322: remove useless struct
* link libmariadb instead of libmysql if headers indicate MariaDB
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix PageCompiler cross-compile; fix Content-Security-Policy header
* remove Data release notes page
* style, remove unused var
* update docs
* improve BLOB handling, clean-up code
* fix(ICMPv4Packet): [asan] Undefined behavior in ICMPv4PacketImpl.cpp #3326
* fix(NumericString): Bug in NumericString with decSep != '.' #3159
* fix(HostEntry): DNS HostEntry returns multiple entries #3303
* fix(PollSet): #3248 #3249
* fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301
* style/whitespace
* fix warnings
* add version resources to executables
* style
* whitespace
* update changelog
* cpproj: also copy testsuite/include if it's there
* branch off 1.11.1
* #3335: XML error when build 1.11.0
* #3353: add POCO_NO_FORK_EXEC CMake option
* #3381: DNS::hostByAddress not thread-safe
* #3400: fix std::localtime not thread safe
* #3221: Crash reported on Windows in X509Certificate verification
* #3344: [bug] MacOS bundle destination path is not set
* #3360: Add POCO_PGSQL_{INCLUDE,LIB} variables
* #3363: Fixed compilation error with MongoDB::Connection and Util::Application
* #3377: Correct Poco::Path::configHome() and dataHome() documentation for Windows
* #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648
* #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher
* #2966: SocketReactor loads one core of CPU up to 100%
* #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash
* use OpenSSL 1.1.1 on macOS
* add missing include search path
* upgrade bundled PCRE to 8.45
* upgrade bundled SQLite to 3.36.0
* updated changelog
* fix brew OpenSSL version
* branch off poco-1.11.2
* #3506: Upgrade bundled expat to 2.4.4
* manually merge #3448, part 1 (Crypto)
* manually merge #3448, part 1 (NetSSL)
* #3515: NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate
* #3448: fix version check
* #3465: NetSSL_Win: bad error handling when decodeMessage() fails
* #3458: encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest
* #3505: JSON::PrintHandler.value(bool) prints incorrect value
* #3527: Upgrade bundled expat to 2.4.5
* #3470: bug in JSON ParseHandler.cpp (RFC 7159 should be valid)
* #3507: Reference counting for bound configuration in Util::Option is broken
* #3518: Expat version check in #defines incorrect
* #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1
* CI: don't build PageCompiler in ARM cross build
* detect ARM64 on Windows
* updated README.md
* ProGen: support generation of VS 2022 project files
* ci: add windows 2022
* fix library name
* remove unused CppUnit headers
* added VS2022 project files
* #3530: Upgrade bundled expat to 2.4.6
* #3538: Upgrade bundled expat to 2.4.7
* Add back NIOS2 double conversion detection to fix compile errors
The commit
https://github.com/pocoproject/poco/commit/558324f672d824300498060aff63356bc6bb8097
removed the nios2 support, which was originally added in
https://github.com/pocoproject/poco/commit/e7b91e8125d6910b53f94de5be4bb53f38dc77c1
This commit add it back.
Signed-off-by: Julien Olivain <ju.o@free.fr>
* #3466: DefinePlatformSpecific.cmake: handle RelWithDebInfo and MinSizeRel configurations
* #3524: remove XML and Util dependencies in Zip/SevenZip
* #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName()
* #3495: Array::operator[] should not throw
* #3268: Poco redis command set have a bug when you want to set nx ex or expireTime
* #3509: fix dst and utcOffset handling for Dublin time zone
* #2882: another attempt at fixing it that should also work on other platforms
* remove unused method in Timezone_WIN32.cpp
* use tm_gmtoff on Linux
* Basic support for OpenSSL 3.0.0 (#3448)
* updated README.md
* Create close-inactive-issues.yml
* check return codes of EVP_CIPHER_CTX_new and EVP_CipherInit
Especially with OpenSSL 3, it is possible that EVP_CipherInit may fail even when
passed a non-null cipher[1]. Without the checking, it will finally get to a
segfault.
[1] https://github.com/openssl/openssl/issues/16864
* Automatically load default and legacy providers with OpenSSL 3
Without the legacy provider [1], some ciphers are not available. For example,
the 'des-ecb' one used by test sutie is missed and the test will fail.
[1] OSSL_PROVIDER-LEGACY(7ossl)
* Make p12 ca order the same as pem
OpenSSL < 3 returns p12 ca order in reversed order. This is fixed
in OpenSSL 3. We work around it with old OpenSSL.
See:
https://github.com/openssl/openssl/issues/16421
https://github.com/openssl/openssl/pull/12641
https://github.com/jeroen/openssl/commit/f5eb85eb0fd432406a24abda6511c449eaee6162
* Implement SSL abort handling on OpenSSL 3
On an unexpected EOF, versions before OpenSSL 3.0 returned SSL_ERROR_SYSCALL,
nothing was added to the error stack, and errno was 0. Since OpenSSL 3.0 the
returned error is SSL_ERROR_SSL with a meaningful error on the error stack.[1]
[1] SSL_GET_ERROR(3ossl)
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
* fix(Socket): shutdown fixes from pull #3448
* #3500: Sandbox all iFrames in PocoDoc
* #3549; replace assert with assertTrue
* #3553: Upgrade bundled zlib to 1.2.12
* #3525: Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM
* disable OpenSSL deprecation warnings
* chore: cleanup
* fix(X509Certificate): add missing string format
* #3559: Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds
* feat(EVP): 3.0 support
- add EVPCipher
- additional EVPPKey constructors
- tests
- fix and improve openssl-related exceptions
Transition towards 3.0 support;
deprecating direct EC and RSA interface portions.
* fix(openssl): pre 3.0 compile
* feat(Envelope): Add envelope to crypto #3561
* fix(Envelope): mac/clang compile
* fix(Any): #3297 #3514
* #3562: fixed OpenSSL setup/shutdown
* fix exception text
* #3563: Remove support for OpenSSL < 1.0
* ci jobs for OpenSSL 1.1 and 3
* updated CHANGELOG
* updated .vscode
* Refactor/any soo (#3564)
* refactor(Any): SOO
- encapsulate data holders
- add missing gets and ops
- eliminate g++ warnings with enable_if's
- default enable SOO
* refactor(Placeholder): encapsulate SOO memory management and fix leaks; cf. #3297 #3514
* fix(Placeholder): asan errors and add tests
cf. #3297 #3514
* fix(SSLManager): Race condition in SSLManager #3558
* remove unused include
* updated copyright date
* PocoDoc: fix iframe sandboxing
* fix(SHA2Engine): cannot use HMACEngine with SHA2Engine #3421
* refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566)
* refactor(Placeholder): more SOO consolidation and optimization
* fix(FPEnvironment): Visual Studio Warning C4244 #3543
* fix(Extractor): move extraction decoding to AbstractExtractor #3396
* Netssl/openssl3 (#3575)
* feat(Context): DH init openssl3 port (1/2 hardcoded params)
* create poco-1.11.3 branch, bump version
* update copyright date
* #3567: check legacy provider existence for legacy exception #3567
* fix(Placeholder): comparison for zero value
* feat(Context): DH init openssl3 port (2/2 params from file)
* test(HTTPSClientSession): try/catch to understand CI failure
* chore(cmake): copy the DH parameters file
* fix(OpenSSLInitializer): unload provider on uninitialize
* chore(HTTPSClientSessionTest): remove try/catch
* fix(OpenSSLInitializer): fix provider unloading
* feat(CppUnit): make tests exceptions more descriptive
* chore(CppUnit): a more descriptive name for callback
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
* fix(Foundation): update VS 2019 platform version
* chore(Data): update VS project files (add Transcoder #3396)
* fix(Data): Poco::Data::ODBC-dbEncoding property not used for insert/update #3396
* fix(Data): add transcoder to Makefile #3396
* fix(JWT): remove duplicate test functions after merge
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Julien Olivain <ju.o@free.fr>
Co-authored-by: Robin Lee <robinlee.sysu@gmail.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
2022-05-04 20:57:08 +02:00
|
|
|
ifeq ($(MACCHINA_BASE),)
|
|
|
|
MACCHINA_LIBRARY =
|
|
|
|
else ifeq ($(MACCHINA_BASE),$(PROJECT_BASE))
|
|
|
|
MACCHINA_LIBRARY =
|
|
|
|
else
|
|
|
|
MACCHINA_LIBRARY = -L$(MACCHINA_BASE)/$(LIBDIR)
|
|
|
|
endif
|
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
ifndef LIBPREFIX
|
|
|
|
LIBPREFIX = lib
|
|
|
|
endif
|
|
|
|
|
2018-03-18 09:23:59 +01:00
|
|
|
ifeq ($(POCO_HOST_LIBPATH),$(POCO_BASE)/$(POCO_HOST_LIBDIR))
|
|
|
|
LD_LIBRARY_PATH = $(POCO_HOST_LIBPATH)
|
2016-03-06 20:30:11 +01:00
|
|
|
else
|
2018-03-18 09:23:59 +01:00
|
|
|
LD_LIBRARY_PATH = $(POCO_HOST_LIBPATH):$(POCO_BASE)/$(POCO_HOST_LIBDIR)
|
2016-03-06 20:30:11 +01:00
|
|
|
endif
|
2016-03-06 16:21:13 +01:00
|
|
|
ifeq ($(POCO_HOST_OSNAME),Darwin)
|
2016-03-06 20:30:11 +01:00
|
|
|
SET_LD_LIBRARY_PATH = DYLD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
|
2016-03-06 16:21:13 +01:00
|
|
|
else
|
2016-03-06 20:30:11 +01:00
|
|
|
SET_LD_LIBRARY_PATH = LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
|
2016-03-06 16:21:13 +01:00
|
|
|
endif
|
|
|
|
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# Build component list
|
|
|
|
#
|
|
|
|
COMPONENTS := $(shell cat $(POCO_BASE)/components)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Read global library version number
|
|
|
|
#
|
|
|
|
LIBVERSION := $(shell cat $(POCO_BASE)/libversion)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Determine link mode
|
|
|
|
#
|
|
|
|
ifndef LINKMODE
|
|
|
|
LINKMODE = BOTH
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(LINKMODE),SHARED)
|
|
|
|
DEFAULT_TARGET = all_shared
|
|
|
|
endif
|
|
|
|
ifeq ($(LINKMODE),STATIC)
|
|
|
|
DEFAULT_TARGET = all_static
|
|
|
|
endif
|
|
|
|
ifeq ($(LINKMODE),BOTH)
|
|
|
|
DEFAULT_TARGET = all_static all_shared
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Compose compiler flags
|
|
|
|
#
|
2017-02-12 13:57:36 +01:00
|
|
|
COMMONFLAGS = -DPOCO_BUILD_HOST='"'$(HOSTNAME)'"' -DPOCO_TARGET_OSNAME='"'$(OSNAME)'"' -DPOCO_TARGET_OSARCH='"'$(OSARCH)'"' $(POCO_FLAGS)
|
2012-04-23 03:14:34 +02:00
|
|
|
CFLAGS += $(COMMONFLAGS) $(SYSFLAGS)
|
|
|
|
CXXFLAGS += $(COMMONFLAGS) $(SYSFLAGS)
|
2022-05-26 16:03:48 +02:00
|
|
|
LINKFLAGS += $(COMMONFLAGS) $(SYSFLAGS) $(POCO_LDFLAGS)
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
ifeq ($(OSARCH_64BITS),1)
|
|
|
|
CFLAGS += $(CFLAGS64)
|
|
|
|
CXXFLAGS += $(CXXFLAGS64)
|
|
|
|
SHLIBFLAGS += $(SHLIBFLAGS64)
|
|
|
|
DYLIBFLAGS += $(DYLIBFLAGS64)
|
|
|
|
LINKFLAGS += $(LINKFLAGS64)
|
|
|
|
else
|
|
|
|
CFLAGS += $(CFLAGS32)
|
|
|
|
CXXFLAGS += $(CXXFLAGS32)
|
|
|
|
SHLIBFLAGS += $(SHLIBFLAGS32)
|
|
|
|
DYLIBFLAGS += $(DYLIBFLAGS32)
|
|
|
|
LINKFLAGS += $(LINKFLAGS32)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Compose object file path
|
|
|
|
#
|
|
|
|
OBJPATH_RELEASE_STATIC = $(OBJPATH)/release_static$(OSARCH_POSTFIX)
|
|
|
|
OBJPATH_DEBUG_STATIC = $(OBJPATH)/debug_static$(OSARCH_POSTFIX)
|
|
|
|
OBJPATH_RELEASE_SHARED = $(OBJPATH)/release_shared$(OSARCH_POSTFIX)
|
|
|
|
OBJPATH_DEBUG_SHARED = $(OBJPATH)/debug_shared$(OSARCH_POSTFIX)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Build Include directory List
|
|
|
|
#
|
2017-10-13 02:29:03 +02:00
|
|
|
INCLUDE = -Iinclude $(foreach p,$(COMPONENTS),-I$(POCO_BASE)/$(p)/$(INCDIR)) $(foreach p,$(POCO_ADD_INCLUDE),-I$(p))
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Build Library Directory List
|
|
|
|
#
|
Dev/devel 1.12.0 (#3585)
* fix(PollSet): #3248 #3249
* bump version to 1.11.0
* updated changelog|
* #3299: NetSSL: Allow per-Context InvalidCertificateHandler
* #3022: Process::isRunning(PID pid) causes handle leak on Windows
* #3022: fix for WinCE
* upgrade bundled pdjson to latest master
* update build configs - add support for Apple Silicon
* #2906, #2904: Support environments without hardware floating point
* #3130: fix error handling: report original error before close()
* #3107: remove unused variable
* #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage
* Poco::trim*() code cleanup - use ptrdiff_t instead of int; additional test cases
* #3182 Poco::Process:launch on MacOS BigSur: limit maximum number of file descriptors to close before exec() to 100000
* #3278: Fixing no hardware floating point support - Part II
* #3090: Do not initialize value with undefined behavior
* #3163: Correct Var::parse null value
* #3196: std::forward for Poco::Optional ctor with rvalue
* #3068: Documented ENABLE_JWT option
* #3041: PostgreSQL and TEXT column type
* #3099: Fixed Postgres extraction into Dynamic::Var
* #3138: Add support of arch riscv32
* #2825: riscv: Enable double operations when using double float abi
* #3166: Fix PostgresSQL BLOB extractor
* #3237: An error in the documentation for Poco/JSON/Parser.h
* #3193: ServerApplication::registerService() unquoted path security vulnerability
* #3266: Order of Util::Application::uninitialize() is not in reverse as documented
* #3215: XML parser returns item from different element in a array
* #3282: Update constant in setContentType documentation
* #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig
* #2418: SecureServerSocket doesn't work with IpV6
* fix warnings
* #3019: ObjectPool wait on borrow condition fix
* #3224: Remove SSL23 support from Poco/Crypto
* #3191: Fixing a bug in the NetSSL_Win module (Host name verification failed error)
* disallow SSLv3
* #3269: Poco::Net::Context initialization with empty certificateFile
* #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint
* #3260: Memory leak in EVPPKey::loadKey used with files & wrong password
* #3157: fix(openssl): add missing dependency to OpenSSL components
* #3066: CMake warning about MYSQL casing
* #3135: Poco::Data::SQLite::Utility::fileToMemory unsuccessful if journal exists
* #3217: CMake: warning message with -DPOCO_STATIC confusing
* #3274: Fix localtime_r for VxWorks 6.9 and later
* #2746, #3169: Fix race condition on TCPServerDispatcher stop
* #3092: add more detailed error description when LoadLibrary fails|
* #3074: Fix sessions may not return back to the pool
* #3309: optimize parsing from stream (no copying of entire JSON to memory); limit maximum depth to avoid stack overflow with malicious documents (fuzzing - #3285); code cleanup
* JSON Parser performance improvements
* #3310: Upgrade bundled SQLite to 3.35.5
* fix UB/bad cast in TCPServerTest.cpp
* add comment regarding potential UB in AnyTest::testCastToReference()
* support sanitizers in build configs
* bump version
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* fix 'catching polymorphic type by value' warnings
* remove failing Android build; add sanitizer builds
* update postgres version
* fix warning
* fix warning
* add GitHub workflow
* fix ci.yml
* fix ci.yml
* additional ci builds
* fix ci.yml for macos and windows
* fix(double-conversion): Upgrade bundled double-conversion #3313
* ci fixes
* #3314: NetSSL_OpenSSL: any.pem certificate error: ca md too weak
* testReuseSession: remove bad checks for session reuse
* investigate failing test
* investigate failing test
* investigate failing test
* investigate failing test
* ci
* remove travis and appveyor
* ci, readme
* ci fixes
* fix ci
* fix ci
* fix ci
* fix memory leak when ignoring test error/failure
* fix ci
* don't define UNREACHABLE as poco_bugcheck as it triggers 'control reaches end of non-void function' warning
* add Linux cross build, build Data libs on macos
* fix ci
* add MySQL include/lib search paths for Homebrew
* ci fixes
* ci fixes
* ci fixes
* ci fixes
* fix indluce paths for brew mysql
* #3317: Data::MySQL MySQL headers and library search paths
* fix ARM-Linux build config
* fix MySQL.make
* update FindMySQL.cmake
* fix(SocketReactor): fix dataCollection test
* chore: remove troubleshooting help leftovers
* #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]]
* fix potential crash in testAsyncNotify: don't delete event object while async notification is still in progress
* fix(PollSetTest): change connect to blocking
* added ActiveRecord library and compiler
* added dependencies file
* update copyright dates
* ActiveRecord: project files and fixes for MSVC
* ci: enable ActiveRecord on Windows
* fix(PollSetTest): remove poll timing check (fails on msvc ci)
* fix ActiveRecord CMake build and configuration
* feat(build): add gen directory (for generated sources) and macchina lib link dirs (if needed)
* #3318: Data: Support Poco::UUID for data binding
* ODBC tests for UUID, updated ActiveRecord projects
* ActiveRecord user guide
* update ActiveRecord documentation
* documentation fixes
* #3321: manually merge ODBC text encoding support
* CppParser: merge changes from internal repository
* updated Makefile
* AbstractObserver::accepts() - add optional name parameter
* fix SharedPtr::makeSharedArray() [merge from devel]
* remove blank line
* #2895, #2935: support OCSP stapling
* style
* clang support (merge from devel)
* #3322: remove useless struct
* link libmariadb instead of libmysql if headers indicate MariaDB
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix nullptr passed to memcmp/memcpy reported by ubsan
* fix PageCompiler cross-compile; fix Content-Security-Policy header
* remove Data release notes page
* style, remove unused var
* update docs
* improve BLOB handling, clean-up code
* fix(ICMPv4Packet): [asan] Undefined behavior in ICMPv4PacketImpl.cpp #3326
* fix(NumericString): Bug in NumericString with decSep != '.' #3159
* fix(HostEntry): DNS HostEntry returns multiple entries #3303
* fix(PollSet): #3248 #3249
* fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301
* style/whitespace
* fix warnings
* add version resources to executables
* style
* whitespace
* update changelog
* cpproj: also copy testsuite/include if it's there
* branch off 1.11.1
* #3335: XML error when build 1.11.0
* #3353: add POCO_NO_FORK_EXEC CMake option
* #3381: DNS::hostByAddress not thread-safe
* #3400: fix std::localtime not thread safe
* #3221: Crash reported on Windows in X509Certificate verification
* #3344: [bug] MacOS bundle destination path is not set
* #3360: Add POCO_PGSQL_{INCLUDE,LIB} variables
* #3363: Fixed compilation error with MongoDB::Connection and Util::Application
* #3377: Correct Poco::Path::configHome() and dataHome() documentation for Windows
* #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648
* #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher
* #2966: SocketReactor loads one core of CPU up to 100%
* #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash
* use OpenSSL 1.1.1 on macOS
* add missing include search path
* upgrade bundled PCRE to 8.45
* upgrade bundled SQLite to 3.36.0
* updated changelog
* fix brew OpenSSL version
* branch off poco-1.11.2
* #3506: Upgrade bundled expat to 2.4.4
* manually merge #3448, part 1 (Crypto)
* manually merge #3448, part 1 (NetSSL)
* #3515: NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate
* #3448: fix version check
* #3465: NetSSL_Win: bad error handling when decodeMessage() fails
* #3458: encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest
* #3505: JSON::PrintHandler.value(bool) prints incorrect value
* #3527: Upgrade bundled expat to 2.4.5
* #3470: bug in JSON ParseHandler.cpp (RFC 7159 should be valid)
* #3507: Reference counting for bound configuration in Util::Option is broken
* #3518: Expat version check in #defines incorrect
* #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1
* CI: don't build PageCompiler in ARM cross build
* detect ARM64 on Windows
* updated README.md
* ProGen: support generation of VS 2022 project files
* ci: add windows 2022
* fix library name
* remove unused CppUnit headers
* added VS2022 project files
* #3530: Upgrade bundled expat to 2.4.6
* #3538: Upgrade bundled expat to 2.4.7
* Add back NIOS2 double conversion detection to fix compile errors
The commit
https://github.com/pocoproject/poco/commit/558324f672d824300498060aff63356bc6bb8097
removed the nios2 support, which was originally added in
https://github.com/pocoproject/poco/commit/e7b91e8125d6910b53f94de5be4bb53f38dc77c1
This commit add it back.
Signed-off-by: Julien Olivain <ju.o@free.fr>
* #3466: DefinePlatformSpecific.cmake: handle RelWithDebInfo and MinSizeRel configurations
* #3524: remove XML and Util dependencies in Zip/SevenZip
* #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName()
* #3495: Array::operator[] should not throw
* #3268: Poco redis command set have a bug when you want to set nx ex or expireTime
* #3509: fix dst and utcOffset handling for Dublin time zone
* #2882: another attempt at fixing it that should also work on other platforms
* remove unused method in Timezone_WIN32.cpp
* use tm_gmtoff on Linux
* Basic support for OpenSSL 3.0.0 (#3448)
* updated README.md
* Create close-inactive-issues.yml
* check return codes of EVP_CIPHER_CTX_new and EVP_CipherInit
Especially with OpenSSL 3, it is possible that EVP_CipherInit may fail even when
passed a non-null cipher[1]. Without the checking, it will finally get to a
segfault.
[1] https://github.com/openssl/openssl/issues/16864
* Automatically load default and legacy providers with OpenSSL 3
Without the legacy provider [1], some ciphers are not available. For example,
the 'des-ecb' one used by test sutie is missed and the test will fail.
[1] OSSL_PROVIDER-LEGACY(7ossl)
* Make p12 ca order the same as pem
OpenSSL < 3 returns p12 ca order in reversed order. This is fixed
in OpenSSL 3. We work around it with old OpenSSL.
See:
https://github.com/openssl/openssl/issues/16421
https://github.com/openssl/openssl/pull/12641
https://github.com/jeroen/openssl/commit/f5eb85eb0fd432406a24abda6511c449eaee6162
* Implement SSL abort handling on OpenSSL 3
On an unexpected EOF, versions before OpenSSL 3.0 returned SSL_ERROR_SYSCALL,
nothing was added to the error stack, and errno was 0. Since OpenSSL 3.0 the
returned error is SSL_ERROR_SSL with a meaningful error on the error stack.[1]
[1] SSL_GET_ERROR(3ossl)
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
* fix(Socket): shutdown fixes from pull #3448
* #3500: Sandbox all iFrames in PocoDoc
* #3549; replace assert with assertTrue
* #3553: Upgrade bundled zlib to 1.2.12
* #3525: Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM
* disable OpenSSL deprecation warnings
* chore: cleanup
* fix(X509Certificate): add missing string format
* #3559: Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds
* feat(EVP): 3.0 support
- add EVPCipher
- additional EVPPKey constructors
- tests
- fix and improve openssl-related exceptions
Transition towards 3.0 support;
deprecating direct EC and RSA interface portions.
* fix(openssl): pre 3.0 compile
* feat(Envelope): Add envelope to crypto #3561
* fix(Envelope): mac/clang compile
* fix(Any): #3297 #3514
* #3562: fixed OpenSSL setup/shutdown
* fix exception text
* #3563: Remove support for OpenSSL < 1.0
* ci jobs for OpenSSL 1.1 and 3
* updated CHANGELOG
* updated .vscode
* Refactor/any soo (#3564)
* refactor(Any): SOO
- encapsulate data holders
- add missing gets and ops
- eliminate g++ warnings with enable_if's
- default enable SOO
* refactor(Placeholder): encapsulate SOO memory management and fix leaks; cf. #3297 #3514
* fix(Placeholder): asan errors and add tests
cf. #3297 #3514
* fix(SSLManager): Race condition in SSLManager #3558
* remove unused include
* updated copyright date
* PocoDoc: fix iframe sandboxing
* fix(SHA2Engine): cannot use HMACEngine with SHA2Engine #3421
* refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566)
* refactor(Placeholder): more SOO consolidation and optimization
* fix(FPEnvironment): Visual Studio Warning C4244 #3543
* fix(Extractor): move extraction decoding to AbstractExtractor #3396
* Netssl/openssl3 (#3575)
* feat(Context): DH init openssl3 port (1/2 hardcoded params)
* create poco-1.11.3 branch, bump version
* update copyright date
* #3567: check legacy provider existence for legacy exception #3567
* fix(Placeholder): comparison for zero value
* feat(Context): DH init openssl3 port (2/2 params from file)
* test(HTTPSClientSession): try/catch to understand CI failure
* chore(cmake): copy the DH parameters file
* fix(OpenSSLInitializer): unload provider on uninitialize
* chore(HTTPSClientSessionTest): remove try/catch
* fix(OpenSSLInitializer): fix provider unloading
* feat(CppUnit): make tests exceptions more descriptive
* chore(CppUnit): a more descriptive name for callback
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
* fix(Foundation): update VS 2019 platform version
* chore(Data): update VS project files (add Transcoder #3396)
* fix(Data): Poco::Data::ODBC-dbEncoding property not used for insert/update #3396
* fix(Data): add transcoder to Makefile #3396
* fix(JWT): remove duplicate test functions after merge
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Julien Olivain <ju.o@free.fr>
Co-authored-by: Robin Lee <robinlee.sysu@gmail.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
2022-05-04 20:57:08 +02:00
|
|
|
LIBRARY = -L$(LIBPATH) $(POCO_LIBRARY) $(MACCHINA_LIBRARY) $(foreach p,$(POCO_ADD_LIBRARY),-L$(p))
|
2012-04-23 03:14:34 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Strip Command definition
|
|
|
|
#
|
2024-10-10 10:36:13 +02:00
|
|
|
ifndef POCO_ENABLE_TRACE
|
2012-04-23 03:14:34 +02:00
|
|
|
ifeq ($(strip $(STRIP)),)
|
2022-07-07 11:18:20 +02:00
|
|
|
STRIPCMD =
|
2012-04-23 03:14:34 +02:00
|
|
|
else
|
|
|
|
STRIPCMD = $(STRIP) $@$(BINEXT)
|
|
|
|
endif
|
2024-10-10 10:36:13 +02:00
|
|
|
else
|
|
|
|
STRIPCMD =
|
|
|
|
endif
|
2012-04-23 03:14:34 +02:00
|
|
|
#
|
|
|
|
# Make CC and CXX environment vars
|
|
|
|
#
|
|
|
|
export CC
|
|
|
|
export CXX
|
2016-03-06 11:28:38 +01:00
|
|
|
export LINK
|