> So, the project. Someone needs to go through the configure procedure > and the headers and throw a PARROT_ prefix in front of all the HAS_ > defines we define, so we can avoid this problem.
I have a look at the configure procedure and didn't find anything that could have set up something like HAS_STDLIB_H. While configuring we generate 3 header files: config.h, has_header.h, feature.h. In the config.h file nearly every define has the PARROT_ prefix and others that don't have it are harmless unless DEFAULT_SIZE. In has_header.h we define a good deal of HAS_HEADER_* defines. I judge those could be worthy of the PARROT_ prefixing. And if I judge correctly we will have to make alternations in the following files, too: io_unix.c platform_interface.h parrot.h io.h generic.h generic.c packfile.c interpreter.c exceptions.c events.c embed.c cpu_dep.c Not many. Next. In feature.h or, rather, in the feature.pl script we try (when possible) to define the following HAS_: HAS_POSIX_MEMALIGN HAS_SOME_MEMALIGN HAS_MEMALIGN HAS_JIT_FCOMIP HAS_SIGACTION HAS_SETITIMER HAS_SOME_SYS_TIMER HAS_SETENV HAS_UNSETENV Prefixing those could cause a monstrous number of changes in other files. And I can hardly believe that any of those could do any harm. So I consider that initially we should attempt to prefix only HAS_HEADER_ defines. Though I could overlook something in the configure procedure and come to the wrong conclusion.