I've switched over to using a few gnulib modules in GNU make. I've just noticed that whenever I run configure, even though I'm on a GNU/Linux system with GNU libc 2.27 and a fairly modern GCC 7.3, the configure script insists on generating local copies of standard header files:
lib/alloca.h lib/stdlib.h lib/sys/types.h lib/unistd.h Why do local copies of these files get generated on my (ostensibly modern and compliant) system? I attempted to decipher the configure scripting around these headers but gave up and went to bed. I did discover that for alloca.h, if we see the __GNUC__ preprocessor value set we apparently ALWAYS choose the local implementation and never the default implementation: #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif That seems very strange to me! The other headers I didn't make much headway on. Any info would be interesting to me, thanks!