This adds the special .NOTPARALLEL target to include/Makefile when building on darwin, to work around an apparent bug in the APFS filesystem.
PR libstdc++/81797 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define. * configure: Regenerate. * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when defined. * include/Makefile.in: Regenerate. Tested powerpc64le-linux, and FX reports it works on Darwin. I'll backport this to the active branches too.
commit 35204421965912b09146585a143189d0d61d23ec Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Oct 27 01:09:52 2017 +0100 PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for darwin PR libstdc++/81797 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define. * configure: Regenerate. * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when defined. * include/Makefile.in: Regenerate. diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index e110f579917..0ef96270c9c 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -473,6 +473,12 @@ AM_CONDITIONAL(BUILD_PDF, test $ac_cv_prog_DBLATEX = "yes" && test $ac_cv_prog_PDFLATEX = "yes") +case "$build" in + *-*-darwin* ) glibcxx_include_dir_notparallel=yes ;; + * ) glibcxx_include_dir_notparallel=no ;; +esac +AM_CONDITIONAL(INCLUDE_DIR_NOTPARALLEL, + test $glibcxx_include_dir_notparallel = "yes") # Propagate the target-specific source directories through the build chain. ATOMICITY_SRCDIR=config/${atomicity_dir} diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 7cf0ef93eb4..70a662fa2f9 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -1479,3 +1479,8 @@ $(decimal_headers): ; @: $(ext_headers): ; @: $(experimental_headers): ; @: $(experimental_bits_headers): ; @: + +if INCLUDE_DIR_NOTPARALLEL +# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797 +.NOTPARALLEL: +endif