Commit 73f2c5413d689c0b8cc958f90e55d7c3566d6684

Sam Lantinga 2016-10-07T16:44:42

Fixed bug 2885 - SDL_stdinc.h doesn't need to include iconv.h Ryan C. Gordon We still include iconv.h in SDL_stdinc.h, probably because this header might have referenced the native iconv functions and types directly. Since these are hidden behind a stable ABI now and never just a #define for the system iconv, we shouldn't need this header included from a public SDL header anymore, slowing down external apps compiles and pulling tons of stuff into the namespace.

diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h
index 02c9e13..fdf9641 100644
--- a/include/SDL_stdinc.h
+++ b/include/SDL_stdinc.h
@@ -83,9 +83,6 @@
 #ifdef HAVE_FLOAT_H
 # include <float.h>
 #endif
-#if defined(HAVE_ICONV) && defined(HAVE_ICONV_H)
-# include <iconv.h>
-#endif
 
 /**
  *  The number of elements in an array.
diff --git a/src/stdlib/SDL_iconv.c b/src/stdlib/SDL_iconv.c
index 8f04037..a5fc1ec 100644
--- a/src/stdlib/SDL_iconv.c
+++ b/src/stdlib/SDL_iconv.c
@@ -31,6 +31,7 @@
 #include "SDL_endian.h"
 
 #ifdef HAVE_ICONV
+#include <iconv.h>
 
 /* Depending on which standard the iconv() was implemented with,
    iconv() may or may not use const char ** for the inbuf param.