MySQL ABI check assumes that with -nostdinc any standard #include terminates preprocessing, but we do not provide that: https://github.com/NixOS/nixpkgs/issues/44530 "#error" does not terminate preprocessing, so we #include a non-existent file instead. --- a/cmake/do_abi_check.cmake +++ b/cmake/do_abi_check.cmake @@ -68,1 +68,1 @@ FOREACH(file ${ABI_HEADERS}) - -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${ABI_SOURCE_DIR}/include + -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${ABI_SOURCE_DIR}/include/nostdinc -I${ABI_SOURCE_DIR}/include @@ -74,1 +74,1 @@ FOREACH(file ${ABI_HEADERS}) - COMMAND ${WSL_EXECUTABLE} sed -e "/^# /d" + COMMAND ${WSL_EXECUTABLE} sed -e "/^# /d" -e "/^#include <-nostdinc>$/d" --- /dev/null +++ b/include/nostdinc/stdint.h @@ -0,0 +1,1 @@ +#include <-nostdinc>