From 83da5893ba154c38cad07de1e2e00a7037abc76e Mon Sep 17 00:00:00 2001 From: Markus Scherer Date: Mon, 19 Feb 2001 21:53:23 +0000 Subject: [PATCH] ICU-561 test U_COMBINED_IMPLEMENTATION to override the other switches X-SVN-Rev: 3676 --- icu4c/source/common/unicode/utypes.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/icu4c/source/common/unicode/utypes.h b/icu4c/source/common/unicode/utypes.h index 1e6f8ff08ef..463bc8e93d3 100644 --- a/icu4c/source/common/unicode/utypes.h +++ b/icu4c/source/common/unicode/utypes.h @@ -254,7 +254,15 @@ typedef void* UClassID; /* * Control of symbol import/export. - * The ICU is separated into two libraries. + * ICU is separated into three libraries. + */ + +/** + * \def U_COMBINED_IMPLEMENTATION + * Set to export library symbols from inside the ICU library + * when all of ICU is in a single library. + * This can be set as a compiler option while building ICU, and it + * needs to be the first one tested to override U_COMMON_API, U_I18N_API, etc. */ /** @@ -276,7 +284,11 @@ typedef void* UClassID; */ -#ifdef U_COMMON_IMPLEMENTATION +#if defined(U_COMBINED_IMPLEMENTATION) +#define U_COMMON_API U_EXPORT +#define U_I18N_API U_EXPORT +#define U_LAYOUT_API U_EXPORT +#elif defined(U_COMMON_IMPLEMENTATION) #define U_COMMON_API U_EXPORT #define U_I18N_API U_IMPORT #define U_LAYOUT_API U_IMPORT @@ -284,10 +296,6 @@ typedef void* UClassID; #define U_COMMON_API U_IMPORT #define U_I18N_API U_EXPORT #define U_LAYOUT_API U_IMPORT -#elif defined(U_COMBINED_IMPLEMENTATION) -#define U_COMMON_API U_EXPORT -#define U_I18N_API U_EXPORT -#define U_LAYOUT_API U_EXPORT #elif defined(U_LAYOUT_IMPLEMENTATION) #define U_COMMON_API U_IMPORT #define U_I18N_API U_IMPORT