10#ifndef GWBUILD_PARSER_H
11#define GWBUILD_PARSER_H
16#include <gwenhywfar/xml.h>
17#include <gwenhywfar/db.h>
18#include <gwenhywfar/stringlist.h>
21#define GWB_PARSER_FILENAME "0BUILD"
25#define GWB_PARSER_SRCFILEFLAGS_ALWAYSDIST 0x00000001
26#define GWB_PARSER_SRCFILEFLAGS_ISSOURCE 0x00000002
34 GWB_KEYVALUEPAIR_LIST *givenOptionList);
60 const char *defaultTypeName,
61 const char *defaultBuilder);
73 const char *builderName,
74 const char *installPath);
struct GWB_CONTEXT GWB_CONTEXT
struct GWEN_DB_NODE GWEN_DB_NODE
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
struct GWENBUILD GWENBUILD
GWEN_BUFFER * GWB_Parser_ReadNamedXmlDataIntoBufferAndExpand(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode, const char *elem)
GWB_CONTEXT * GWB_Parser_CopyContextForTarget(const GWB_CONTEXT *sourceContext)
GWEN_STRINGLIST * GWB_Parser_ReadXmlDataIntoStringList(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode, int ignoreDupes)
int GWB_Parser_ParseSubdirs(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, GWB_PARSER_PARSE_ELEMENT_FN fn)
GWB_CONTEXT * GWB_Parser_CopyContextForSubdir(const GWB_CONTEXT *sourceContext, const char *folder)
int GWB_Parser_ParseWriteFile(GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
GWEN_XMLNODE * GWB_Parser_ReadBuildFile(GWENBUILD *gwbuild, const GWB_CONTEXT *currentContext, const char *fileName)
int GWB_Parser_ParseWellKnownElements(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *n, GWB_PARSER_PARSE_ELEMENT_FN fn)
GWB_TARGET * GWB_Parser_AddTargetForSourceFile(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWBUILD_TARGETTYPE targetType, const char *fileName, const char *fileType, const char *builderName, const char *installPath)
GWB_PROJECT * GWB_Parser_ReadBuildTree(GWENBUILD *gwbuild, GWB_CONTEXT *currentContext, const char *srcDir, GWB_KEYVALUEPAIR_LIST *givenOptionList)
int GWB_Parser_ParseSourcesOrHeaders(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, uint32_t fileFlags, const char *defaultTypeName, const char *defaultBuilder)
GWEN_BUFFER * GWB_Parser_ReadXmlDataIntoBufferAndExpand(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode)
int GWB_Parser_ReplaceVarsBetweenAtSigns(const char *s, GWEN_BUFFER *dbuf, GWEN_DB_NODE *db)
void GWB_Parser_SetItemValue(GWEN_DB_NODE *db, const char *sId, const char *suffix, const char *value)
int(* GWB_PARSER_PARSE_ELEMENT_FN)(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
struct GWB_PROJECT GWB_PROJECT
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
struct GWB_TARGET GWB_TARGET
struct GWEN__XMLNODE GWEN_XMLNODE