build-libcxx: Enable -D__USE_MINGW_ANSI_STDIO=1 for libcxx on x86

This ensures correctly formatted long doubles.

This fixes issue #545.
This commit is contained in:
Martin Storsjö
2026-03-03 10:51:42 +02:00
parent dc9837d908
commit a89f6c58f4
+12 -2
View File
@@ -77,6 +77,16 @@ for arch in $ARCHS; do
mkdir -p build-$arch mkdir -p build-$arch
cd build-$arch cd build-$arch
[ -n "$NO_RECONF" ] || rm -rf CMake* [ -n "$NO_RECONF" ] || rm -rf CMake*
EXTRA_CFLAGS=""
case $arch in
i686|x86_64)
# Force using the mingw stdio functions, for correct long double
# printing.
EXTRA_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
;;
esac
cmake \ cmake \
${CMAKE_GENERATOR+-G} "$CMAKE_GENERATOR" \ ${CMAKE_GENERATOR+-G} "$CMAKE_GENERATOR" \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
@@ -107,8 +117,8 @@ for arch in $ARCHS; do
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \ -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
-DLIBCXXABI_ENABLE_SHARED=OFF \ -DLIBCXXABI_ENABLE_SHARED=OFF \
-DLIBCXXABI_LIBDIR_SUFFIX="" \ -DLIBCXXABI_LIBDIR_SUFFIX="" \
-DCMAKE_C_FLAGS_INIT="$CFGUARD_CFLAGS" \ -DCMAKE_C_FLAGS_INIT="$CFGUARD_CFLAGS $EXTRA_CFLAGS" \
-DCMAKE_CXX_FLAGS_INIT="$CFGUARD_CFLAGS" \ -DCMAKE_CXX_FLAGS_INIT="$CFGUARD_CFLAGS $EXTRA_CFLAGS" \
.. ..
cmake --build . ${CORES:+-j${CORES}} cmake --build . ${CORES:+-j${CORES}}