From f293b73d71c5dbbf053a864b2c2f285ef0834630 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 4 Jan 2012 08:46:49 -0500 Subject: [PATCH] libarchive: Define _XOPEN_SOURCE=500 on HP-UX The HP-UX header provides 'mbstate_t' in C89/C90 mode only if _XOPEN_SOURCE is defined to exactly 500. Type 'mbstate_t' was introduced in C89/C90 Normative Amendment 1, aka C94/C95, adding support international character sets. It is part of C99 but not C89/C90. --- Utilities/cmlibarchive/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index 9689b2868..23526939e 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -75,6 +75,10 @@ IF(WIN32) SET(_WIN32_WINNT ${WINVER}) ENDIF(WIN32) +IF("${CMAKE_C_PLATFORM_ID}" MATCHES "^(HP-UX)$") + ADD_DEFINITIONS(-D_XOPEN_SOURCE=500) # Ask wchar.h for mbstate_t +ENDIF() + # INCLUDE(CheckCSourceCompiles) INCLUDE(CheckCSourceRuns)