From db62fc0ae89161752318fb9cdc5c4d165c82a47b Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Mon, 20 Jul 2026 11:45:09 +1000 Subject: [PATCH] MDEV-40386: DuckDB - pass through compiler and linker flags Without passing through the compile and linker flags, options like -stdlib=libc++ can create ABI differences between ducksdb extensions and what the server links too. The jemalloc has C files so CMAKE_C_FLAGS is passed through too. --- storage/duckdb/cmake/duckdb.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/storage/duckdb/cmake/duckdb.cmake b/storage/duckdb/cmake/duckdb.cmake index 1eb9924924dd7..07df6c1756284 100644 --- a/storage/duckdb/cmake/duckdb.cmake +++ b/storage/duckdb/cmake/duckdb.cmake @@ -104,7 +104,10 @@ ExternalProject_Add(duckdb_build -DBUILD_TPCE=OFF -DEXTENSION_STATIC_BUILD=1 "-DDUCKDB_EXTENSION_CONFIGS=${CMAKE_CURRENT_SOURCE_DIR}/cmake/duckdb_extensions.cmake" - "-DCMAKE_CXX_FLAGS=${_DUCKDB_EXTRA_CXX_FLAGS}" + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${_DUCKDB_EXTRA_CXX_FLAGS}" + "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}" + "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" + "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" -DENABLE_SANITIZER=${ADDRESS_SANITIZER} -DENABLE_UBSAN=${UB_SANITIZER} -DOVERRIDE_GIT_DESCRIBE=v1.5.4-0-g0000000000