intl/icu/source/tools/toolutil/pkg_genc.h

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /******************************************************************************
     2  *   Copyright (C) 2008-2011, International Business Machines
     3  *   Corporation and others.  All Rights Reserved.
     4  *******************************************************************************
     5  */
     7 #ifndef __PKG_GENC_H__
     8 #define __PKG_GENC_H__
    10 #include "unicode/utypes.h"
    11 #include "toolutil.h"
    13 #include "unicode/putil.h"
    14 #include "putilimp.h"
    16 /*** Platform #defines move here ***/
    17 #if U_PLATFORM_HAS_WIN32_API
    18 #ifdef __GNUC__
    19 #define WINDOWS_WITH_GNUC
    20 #else
    21 #define WINDOWS_WITH_MSVC
    22 #endif
    23 #endif
    26 #if !defined(WINDOWS_WITH_MSVC)
    27 #define BUILD_DATA_WITHOUT_ASSEMBLY
    28 #endif
    30 #ifndef U_DISABLE_OBJ_CODE /* testing */
    31 #if defined(WINDOWS_WITH_MSVC) || U_PLATFORM_IS_LINUX_BASED
    32 #define CAN_WRITE_OBJ_CODE
    33 #endif
    34 #if U_PLATFORM_HAS_WIN32_API || defined(U_ELF)
    35 #define CAN_GENERATE_OBJECTS
    36 #endif
    37 #endif
    39 #if U_PLATFORM == U_PF_CYGWIN || defined(CYGWINMSVC)
    40 #define USING_CYGWIN
    41 #endif
    43 /*
    44  * When building the data library without assembly,
    45  * some platforms use a single c code file for all of
    46  * the data to generate the final data library. This can
    47  * increase the performance of the pkdata tool.
    48  */
    49 #if U_PLATFORM == U_PF_OS400
    50 #define USE_SINGLE_CCODE_FILE
    51 #endif
    53 /* Need to fix the file seperator character when using MinGW. */
    54 #if defined(WINDOWS_WITH_GNUC) || defined(USING_CYGWIN)
    55 #define PKGDATA_FILE_SEP_STRING "/"
    56 #else
    57 #define PKGDATA_FILE_SEP_STRING U_FILE_SEP_STRING
    58 #endif
    60 #define LARGE_BUFFER_MAX_SIZE 2048
    61 #define SMALL_BUFFER_MAX_SIZE 512
    62 #define SMALL_BUFFER_FLAG_NAMES 32
    63 #define BUFFER_PADDING_SIZE 20
    65 /** End platform defines **/
    69 U_INTERNAL void U_EXPORT2
    70 printAssemblyHeadersToStdErr(void);
    72 U_INTERNAL UBool U_EXPORT2
    73 checkAssemblyHeaderName(const char* optAssembly);
    75 U_INTERNAL void U_EXPORT2
    76 writeCCode(const char *filename, const char *destdir, const char *optName, const char *optFilename, char *outFilePath);
    78 U_INTERNAL void U_EXPORT2
    79 writeAssemblyCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optFilename, char *outFilePath);
    81 U_INTERNAL void U_EXPORT2
    82 writeObjectCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optMatchArch, const char *optFilename, char *outFilePath);
    84 #endif

mercurial