28 #include <gwenhywfar/debug.h> 59 if (s && strcasecmp(s,
"TRUE")==0)
128 if (strcasecmp(name,
"option")==0)
130 else if (strcasecmp(name,
"dependencies")==0)
132 else if (strcasecmp(name,
"checkheaders")==0)
134 else if (strcasecmp(name,
"checkfunctions")==0)
136 else if (strcasecmp(name,
"checklibs")==0)
138 else if (strcasecmp(name,
"checkprogs")==0)
140 else if (strcasecmp(name,
"checkCompiler")==0)
142 else if (strcasecmp(name,
"target")==0)
144 else if (strcasecmp(name,
"define")==0)
146 else if (strcasecmp(name,
"buildFiles")==0)
148 else if (strcasecmp(name,
"extradist")==0)
150 else if (strcasecmp(name,
"data")==0)
152 else if (strcasecmp(name,
"subdirs")==0)
172 GWB_KEYVALUEPAIR_LIST *defineList;
217 if (!(varName && *varName)) {
221 if (quoted && strcasecmp(quoted,
"TRUE")==0) {
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
int GWB_ParseCheckFunctions(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
struct GWB_CONTEXT GWB_CONTEXT
#define GWEN_DB_FLAGS_OVERWRITE_VARS
struct GWEN_DB_NODE GWEN_DB_NODE
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
const char * GWB_Project_GetVersionTag(const GWB_PROJECT *project)
GWB_KEYVALUEPAIR_LIST * GWB_Project_GetDefineList(const GWB_PROJECT *project)
void GWB_Project_AddFlags(GWB_PROJECT *project, uint32_t fl)
static int _parseChildNodes(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
void GWB_Project_SetDefine(GWB_PROJECT *project, const char *name, const char *value)
struct GWB_PROJECT GWB_PROJECT
int GWB_Project_GetVersionBuild(const GWB_PROJECT *project)
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
int GWB_ParseBuildFiles(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWB_Parser_ParseSubdirs(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, GWB_PARSER_PARSE_ELEMENT_FN fn)
static int _parseDefine(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
void GWB_Project_SetVersion(GWB_PROJECT *project, int vMajor, int vMinor, int vPatchlevel, int vBuild, const char *vTag)
int GWB_Parser_ParseWellKnownElements(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *n, GWB_PARSER_PARSE_ELEMENT_FN fn)
int GWB_Project_GetVersionPatchlevel(const GWB_PROJECT *project)
#define GWEN_ERROR_BAD_DATA
void GWB_Project_SetSoVersion(GWB_PROJECT *project, int vCurrent, int vAge, int vRevision)
GWEN_DB_NODE * GWB_Context_GetVars(const GWB_CONTEXT *ctx)
const char * GWB_Project_GetProjectName(const GWB_PROJECT *project)
int GWEN_XMLNode_GetIntProperty(const GWEN_XMLNODE *n, const char *name, int defaultValue)
int GWB_ParseOption(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWB_Project_GetSoVersionRevision(const GWB_PROJECT *project)
#define DBG_DEBUG(dbg_logger, format, args...)
int GWB_Project_GetVersionMajor(const GWB_PROJECT *project)
GWEN_XMLNODE * GWEN_XMLNode_GetNextTag(const GWEN_XMLNODE *n)
static int _writeConfigH(const GWB_PROJECT *project)
#define GWEN_ERROR_GENERIC
int GWB_ParseCheckLibs(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWB_ParseProject(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWEN_DB_SetCharValueFromInt(GWEN_DB_NODE *n, uint32_t flags, const char *path, int val)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
#define GWB_PROJECT_FLAGS_CONFIG_H
int GWB_ParseDependencies(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
#define DBG_ERROR(dbg_logger, format, args...)
GWEN_XMLNODE * GWEN_XMLNode_GetFirstTag(const GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetData(const GWEN_XMLNODE *n)
int GWB_Project_GetVersionMinor(const GWB_PROJECT *project)
void GWB_Project_SetProjectName(GWB_PROJECT *project, const char *s)
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
#define DBG_INFO(dbg_logger, format, args...)
uint32_t GWB_Project_GetFlags(const GWB_PROJECT *project)
int GWEN_XMLNode_ExpandProperties(const GWEN_XMLNODE *n, GWEN_DB_NODE *dbVars)
int GWB_ParseCheckProgs(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWB_KeyValuePair_List_WriteAllPairsToBuffer(const GWB_KEYVALUEPAIR_LIST *kvpList, const char *prefix, const char *assignmentString, const char *delim, GWEN_BUFFER *destBuf)
int GWB_Project_GetSoVersionCurrent(const GWB_PROJECT *project)
struct GWEN__XMLNODE GWEN_XMLNODE
int GWB_ParseCheckCompiler(GWEN_UNUSED GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWEN_SyncIo_Helper_WriteFile(const char *fName, const uint8_t *ptrSource, uint64_t lenSource)
int GWB_ParseTarget(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
int GWB_Project_GetSoVersionAge(const GWB_PROJECT *project)
int GWB_Parser_ParseSourcesOrHeaders(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, int alwaysDist, int isSource)