HAVE_* macros are generally defined at configure-time to find what headers your system does/doesn't have. For SDL, they should be defined in SDL_config.h - e.g. you could run this program to determine the value of HAVE_STDIO_H:
Code:
#include <stdio.h>
#include <SDL/SDL_config.h>
int main(void)
{
#ifdef HAVE_STDIO_H
printf("%d\n", HAVE_STDIO_H);
#else
printf("Not defined\n");
#endif
return 0;
}
If it's not defined, you could try changing its value in SDL_config.h, but it might be better to find out why the configure process thought that your system doesn't have a standard header file. Have a look through config.log in your build directory and search for "HAVE_STDIO_H", or post it here.