Index: icu46/source/tools/pkgdata/pkgtypes.h |
=================================================================== |
--- icu46/source/tools/pkgdata/pkgtypes.h (revision 0) |
+++ icu46/source/tools/pkgdata/pkgtypes.h (revision 0) |
@@ -0,0 +1,168 @@ |
+/************************************************************************** |
+* |
+* Copyright (C) 2000-2009, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+* |
+*************************************************************************** |
+* file name: pkgdata.c |
+* encoding: ANSI X3.4 (1968) |
+* tab size: 8 (not used) |
+* indentation:4 |
+* |
+* created on: 2000may16 |
+* created by: Steven \u24C7 Loomis |
+* |
+* common types for pkgdata |
+*/ |
+ |
+#ifndef _PKGTYPES |
+#define _PKGTYPES |
+ |
+/* headers */ |
+#include "unicode/utypes.h" |
+#include "filestrm.h" |
+ |
+/* linked list */ |
+struct _CharList; |
+ |
+typedef struct _CharList |
+{ |
+ const char *str; |
+ struct _CharList *next; |
+} CharList; |
+ |
+ |
+ |
+/* |
+ * write CharList 'l' into stream 's' using deliminter 'delim' (delim can be NULL). quoted: -1 remove, 0 as is, 1 add quotes |
+ */ |
+const char *pkg_writeCharList(FileStream *s, CharList *l, const char *delim, int32_t quoted); |
+ |
+/* |
+ * Same, but use line breaks. quoted: -1 remove, 0 as is, 1 add quotes |
+ */ |
+const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim, const char *brk, int32_t quoted); |
+ |
+ |
+/* |
+ * Count items . 0 if null |
+ */ |
+uint32_t pkg_countCharList(CharList *l); |
+ |
+/* |
+ * Prepend string to CharList. Str is adopted! |
+ */ |
+CharList *pkg_prependToList(CharList *l, const char *str); |
+ |
+/* |
+ * append string to CharList. *end or even end can be null if you don't |
+ * know it.[slow] |
+ * Str is adopted! |
+ */ |
+CharList *pkg_appendToList(CharList *l, CharList** end, const char *str); |
+ |
+/* |
+ * strAlias is an alias to a full or relative path to a FILE. This function |
+ * will search strAlias for the directory name (with strrchr). Then, it will |
+ * determine if that directory is already in list l. If not, it will add it |
+ * with strdup(strAlias). |
+ * @param l list to append to , or NULL |
+ * @param end end pointer-to-pointer. Can point to null, or be null. |
+ * @param strAlias alias to full path string |
+ * @return new list |
+ */ |
+CharList *pkg_appendUniqueDirToList(CharList *l, CharList** end, const char *strAlias); |
+ |
+/* |
+ * does list contain string? Returns: t/f |
+ */ |
+UBool pkg_listContains(CharList *l, const char *str); |
+ |
+/* |
+ * Delete list |
+ */ |
+void pkg_deleteList(CharList *l); |
+ |
+/* |
+ * Mode package function |
+ */ |
+struct UPKGOptions_; |
+typedef void (UPKGMODE)(struct UPKGOptions_ *, FileStream *s, UErrorCode *status); |
+ |
+/* |
+ * Static mode - write the readme file |
+ * @param opt UPKGOptions |
+ * @param libName Name of the .lib, etc file |
+ * @param status ICU error code |
+ */ |
+void pkg_sttc_writeReadme(struct UPKGOptions_ *opt, const char *libName, UErrorCode *status); |
+ |
+/* |
+ * Options to be passed throughout the program |
+ */ |
+ |
+typedef struct UPKGOptions_ |
+{ |
+ CharList *fileListFiles; /* list of files containing files for inclusion in the package */ |
+ CharList *filePaths; /* All the files, with long paths */ |
+ CharList *files; /* All the files */ |
+ CharList *outFiles; /* output files [full paths] */ |
+ |
+ const char *shortName; /* name of what we're building */ |
+ const char *cShortName; /* name of what we're building as a C identifier */ |
+ const char *entryName; /* special entrypoint name */ |
+ const char *targetDir; /* dir for packaged data to go */ |
+ const char *dataDir; /* parent of dir for package (default: tmpdir) */ |
+ const char *tmpDir; |
+ const char *srcDir; |
+ const char *options; /* Options arg */ |
+ const char *mode; /* Mode of building */ |
+ const char *version; /* Library version */ |
+ const char *comment; /* comment string */ |
+ const char *install; /* Where to install to (NULL = don't install) */ |
+ const char *icuroot; /* where does ICU lives */ |
+ const char *libName; /* name for library (default: shortName) */ |
+ UBool rebuild; |
+ UBool verbose; |
+ UBool quiet; |
+} UPKGOptions; |
+ |
+char * convertToNativePathSeparators(char *path); |
+ |
+ |
+/* set up common defines for library naming */ |
+ |
+#ifdef U_WINDOWS |
+# ifndef UDATA_SO_SUFFIX |
+# define UDATA_SO_SUFFIX ".dll" |
+# endif |
+# define LIB_PREFIX "" |
+# define LIB_STATIC_PREFIX "" |
+# define OBJ_SUFFIX ".obj" |
+# define UDATA_LIB_SUFFIX ".lib" |
+ |
+#elif defined(U_CYGWIN) |
+# define LIB_PREFIX "cyg" |
+# define LIB_STATIC_PREFIX "lib" |
+# define OBJ_SUFFIX ".o" |
+# define UDATA_LIB_SUFFIX ".a" |
+ |
+#else /* POSIX? */ |
+# define LIB_PREFIX "lib" |
+# define LIB_STATIC_PREFIX "lib" |
+# define OBJ_SUFFIX ".o" |
+# define UDATA_LIB_SUFFIX ".a" |
+#endif |
+ |
+#define ASM_SUFFIX ".s" |
+ |
+/* defines for common file names */ |
+#define UDATA_CMN_PREFIX "" |
+#define UDATA_CMN_SUFFIX ".dat" |
+#define UDATA_CMN_INTERMEDIATE_SUFFIX "_dat" |
+ |
+#define ICUDATA_RES_FILE "icudata.res" |
+ |
+#define PKGDATA_DERIVED_PATH '\t' |
+ |
+#endif |
Property changes on: icu46/source/tools/pkgdata/pkgtypes.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |