diff options
author | Brad King <brad.king@kitware.com> | 2005-04-21 21:00:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-04-21 21:00:36 (GMT) |
commit | 2f4e516e230c179cdf7c488f4101aae3a52ac53b (patch) | |
tree | 82a887d59ae00122aed6c0089e8fe2f943e555f5 /Utilities | |
parent | cf8a3a15213ab4b3014c1dd148be48a46d3e4f67 (diff) | |
download | CMake-2f4e516e230c179cdf7c488f4101aae3a52ac53b.zip CMake-2f4e516e230c179cdf7c488f4101aae3a52ac53b.tar.gz CMake-2f4e516e230c179cdf7c488f4101aae3a52ac53b.tar.bz2 |
COMP: Using a new work-around for stdarg.h problem on SGI.
Diffstat (limited to 'Utilities')
-rw-r--r-- | Utilities/cmxmlrpc/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Utilities/cmxmlrpc/internal_stdio_core.h.in | 5 | ||||
-rw-r--r-- | Utilities/cmxmlrpc/xmlrpc.h | 20 |
3 files changed, 10 insertions, 20 deletions
diff --git a/Utilities/cmxmlrpc/CMakeLists.txt b/Utilities/cmxmlrpc/CMakeLists.txt index f23bf97..c13b780 100644 --- a/Utilities/cmxmlrpc/CMakeLists.txt +++ b/Utilities/cmxmlrpc/CMakeLists.txt @@ -77,6 +77,11 @@ CONFIGURE_FILE( "${CMAKE_CURRENT_BINARY_DIR}/xmlrpc_amconfig.h" ) +# See internal_stdio_core.h.in for explanation. +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/internal_stdio_core.h.in + ${CMAKE_CURRENT_BINARY_DIR}/internal/stdio_core.h + @ONLY IMMEDIATE) + SET(xmlrpc_SRCS #XmlRpcCpp.cpp xmlrpc_array.c diff --git a/Utilities/cmxmlrpc/internal_stdio_core.h.in b/Utilities/cmxmlrpc/internal_stdio_core.h.in new file mode 100644 index 0000000..ae5910c --- /dev/null +++ b/Utilities/cmxmlrpc/internal_stdio_core.h.in @@ -0,0 +1,5 @@ +/* This is a hack to work around a bug in MIPSpro 7.4 on some SGIs. + We need to include stdarg.h before the stdio core to avoid putting + va_list in the std namespace and never in the global namespace. */ +#include <stdarg.h> +#include_next <internal/stdio_core.h> diff --git a/Utilities/cmxmlrpc/xmlrpc.h b/Utilities/cmxmlrpc/xmlrpc.h index fdea161..69160a2 100644 --- a/Utilities/cmxmlrpc/xmlrpc.h +++ b/Utilities/cmxmlrpc/xmlrpc.h @@ -29,26 +29,6 @@ #include <stddef.h> #include <stdarg.h> -#ifdef __cplusplus -#ifndef va_list -/* - Some compilers move va_list into the std:: namespace and there is no way to - tell that this has been done. Playing with things being included before or - after stdarg.h does not solve things because we do not have control over what - the user does. - This hack solves this problem by moving va_list to our own namespace that is - local for forms. -*/ -namespace std {} /* Required for platforms that do not have std:: */ -namespace xmlrpc_VA_LIST -{ - using namespace std; - typedef va_list hack_va_list; -} -#define va_list xmlrpc_VA_LIST::hack_va_list -#endif /* va_list */ -#endif /* __cplusplus */ - #include <xmlrpc_config.h> #ifdef HAVE_UNICODE_WCHAR |