--- a/libupnpp/config.h.in
+++ b/libupnpp/config.h.in
@@ -1,4 +1,7 @@
/* libupnpp/config.h.in. Generated from configure.ac by autoheader. */
+
+/* "Have C++0x" */
+#undef HAVE_CXX0X_UNORDERED
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@@ -48,6 +51,9 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
+/* "Have tr1" */
+#undef HAVE_TR1_UNORDERED
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
@@ -91,46 +97,4 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
-#undef HAVE_TR1_UNORDERED
-#undef HAVE_CXX0X_UNORDERED
-
-#ifdef __cplusplus
-#ifdef HAVE_CXX0X_UNORDERED
-# include <unordered_map>
-# include <unordered_set>
-# include <functional>
-# include <memory>
-# define STD_UNORDERED_MAP std::unordered_map
-# define STD_UNORDERED_SET std::unordered_set
-# define STD_FUNCTION std::function
-# define STD_BIND std::bind
-# define STD_PLACEHOLDERS std::placeholders
-# define STD_SHARED_PTR std::shared_ptr
-# define STD_WEAK_PTR std::weak_ptr
-#elif defined(HAVE_TR1_UNORDERED)
-# include <tr1/unordered_map>
-# include <tr1/unordered_set>
-# include <tr1/functional>
-# include <tr1/memory>
-# define STD_UNORDERED_MAP std::tr1::unordered_map
-# define STD_UNORDERED_SET std::tr1::unordered_set
-# define STD_FUNCTION std::tr1::function
-# define STD_BIND std::tr1::bind
-# define STD_PLACEHOLDERS std::tr1::placeholders
-# define STD_SHARED_PTR std::tr1::shared_ptr
-# define STD_WEAK_PTR std::tr1::weak_ptr
-#else
-# include <map>
-# include <set>
-# include <functional>
-# define STD_UNORDERED_MAP std::map
-# define STD_UNORDERED_SET std::set
-/* Yeah we're cooked if the code uses these features */
-# define STD_FUNCTION
-# define STD_BIND
-# define STD_PLACEHOLDERS
-# define STD_SHARED_PTR
-# define STD_WEAK_PTR
-#endif
-
-#endif /* c++ */
+#include "libupnpp/conf_post.h"