1
/**************************************************************************
3
* Copyright (C) 2000, International Business Machines
4
* Corporation and others. All Rights Reserved.
6
***************************************************************************
8
* encoding: ANSI X3.4 (1968)
9
* tab size: 8 (not used)
12
* created on: 2000may16
13
* created by: Steven \u24C7 Loomis
15
* common types for pkgdata
22
#include "unicode/utypes.h"
28
typedef struct _CharList
31
struct _CharList *next;
37
* write CharList 'l' into stream 's' using deliminter 'delim' (delim can be NULL). quoted: -1 remove, 0 as is, 1 add quotes
39
const char *pkg_writeCharList(FileStream *s, CharList *l, const char *delim, int32_t quoted);
42
* Same, but use line breaks. quoted: -1 remove, 0 as is, 1 add quotes
44
const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim, const char *brk, int32_t quoted);
48
* Count items . 0 if null
50
uint32_t pkg_countCharList(CharList *l);
53
* Prepend string to CharList. Str is adopted!
55
CharList *pkg_prependToList(CharList *l, const char *str);
58
* append string to CharList. *end or even end can be null if you don't
62
CharList *pkg_appendToList(CharList *l, CharList** end, const char *str);
65
* does list contain string? Returns: t/f
67
UBool pkg_listContains(CharList *l, const char *str);
72
void pkg_deleteList(CharList *l);
78
* Mode package function
81
typedef void (UPKGMODE)(struct UPKGOptions_ *, FileStream *s, UErrorCode *status);
84
* Options to be passed throughout the program
87
typedef struct UPKGOptions_
89
CharList *fileListFiles; /* list of files containing files for inclusion in the package */
90
CharList *filePaths; /* All the files, with long paths */
91
CharList *files; /* All the files */
92
CharList *outFiles; /* output files [full paths] */
94
const char *shortName; /* name of what we're building */
95
const char *entryName; /* special entrypoint name */
96
const char *targetDir;
99
const char *options; /* Options arg */
100
const char *mode; /* Mode of building */
101
const char *version; /* Library version */
102
const char *makeArgs; /* XXX Should be a CharList! */
103
const char *comment; /* comment string */
104
const char *makeFile; /* Makefile path */
105
const char *install; /* Where to install to (NULL = don't install) */
106
const char *icuroot; /* where does ICU lives */
112
UBool hadStdin; /* Stdin was a dependency - don't make anything depend on the file list coming in. */
114
UPKGMODE *fcn; /* Handler function */
118
/* set up common defines for library naming */
121
# ifndef UDATA_SO_SUFFIX
122
# define UDATA_SO_SUFFIX ".DLL"
124
# define LIB_PREFIX ""
125
# define OBJ_SUFFIX ".obj"
128
# define LIB_PREFIX "lib"
129
# define OBJ_SUFFIX ".o"
130
# define UDATA_LIB_SUFFIX ".a"
134
/* defines for common file names */
135
#define UDATA_CMN_PREFIX ""
136
#define UDATA_CMN_SUFFIX ".dat"
137
#define UDATA_CMN_INTERMEDIATE_SUFFIX "_dat"