ICU-1075 Updates to stub data library from port to Linux

X-SVN-Rev: 5445
This commit is contained in:
Andy Heninger 2001-08-06 22:53:11 +00:00
parent a62ee61efb
commit 839e1a6152
2 changed files with 40 additions and 15 deletions

View File

@ -736,8 +736,8 @@ findBasename(const char *path) {
/* build options are set to request it. */
/* Unless overridden by an explicit u_setCommonData, this will be */
/* our common data. */
#ifdef UDATA_STATIC_LIB
extern DataHeader U_IMPORT U_ICUDATA_ENTRY_POINT;
#if defined(UDATA_STATIC_LIB) || defined(UDATA_DLL)
extern const DataHeader U_IMPORT U_ICUDATA_ENTRY_POINT;
#endif
static UDataMemory *
@ -756,7 +756,7 @@ openCommonData(UDataMemory *pData,
/* ### we should have a real cache with a UHashTable and the path as the key */
#ifdef UDATA_STATIC_LIB
#if defined(UDATA_STATIC_LIB) || defined(UDATA_DLL)
if (isICUData) {
pHeader = &U_ICUDATA_ENTRY_POINT;
if(!(pHeader->dataHeader.magic1==0xda && pHeader->dataHeader.magic2==0x27 &&

View File

@ -1,26 +1,48 @@
/******************************************************************************
*
* Copyright (C) 2001, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
* file name: stubdata.c
*
* Define initialized data that will build into a valid, but empty
* ICU data library. Used to bootstrap the ICU build, which has these
* dependencies:
* ICU Common library depends on ICU data
* ICU data requires data building tools.
* ICU data building tools require the ICU common library.
*
* The stub data library (for which this file is the source) is sufficient
* for running the data building tools.
*
*/
#include "unicode/utypes.h"
#include "unicode/udata.h"
#include "unicode/uversion.h"
U_EXPORT const struct {
typedef struct {
uint16_t headerSize;
uint8_t magic1, magic2;
UDataInfo info;
char padding[8];
uint32_t count, reserved;
struct {
const char *name;
const void *data;
} toc[1];
// const struct {
// const char *const name;
// const void *const data;
// } toc[1];
int fakeNameAndData[4]; // TODO: Change this header type from
// pointerTOC to OffsetTOC.
} ICU_Data_Heaser;;
} U_EXPORT2 U_ICUDATA_ENTRY_POINT = {
U_EXPORT const ICU_Data_Heaser U_EXPORT2 U_ICUDATA_ENTRY_POINT = {
32, /* headerSize */
0xda, /* magic1, (see struct MappedData in udata.c) */
0x27, /* magic2 */
{ /*UDataInfo */
sizeof(UDataInfo), /* size */
0, /* reserved */
0, /* reserved */
#if U_IS_BIG_ENDIAN
1,
@ -30,8 +52,8 @@ U_EXPORT const struct {
U_CHARSET_FAMILY,
sizeof(UChar),
0, /* reserved */
{ /* data format identifier */
0, /* reserved */
{ /* data format identifier */
0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
{1, 0, 0, 0}, /* format version major, minor, milli, micro */
{0, 0, 0, 0} /* dataVersion */
@ -39,9 +61,12 @@ U_EXPORT const struct {
{0,0,0,0,0,0,0,0}, /* Padding[8] */
0, /* count */
0, /* Reserved */
{
{ "dummyName", 0 }
}
/* { */ /* TOC structure */
/* { */
0 , 0 , 0, 0 /* name and data entries. Count says there are none, */
/* but put one in just in case. */
/* } */
/* } */
};