gwenhywfar 5.12.0
context.c File Reference
#include "gwenbuild/types/context_p.h"
#include <gwenhywfar/debug.h>
#include <gwenhywfar/memory.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for context.c:

Go to the source code of this file.

Functions

static char * _combinedString (const char *string1, const char *string2, const char delim)
static void _exportDbToXml (GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode)
void GWB_Context_AddCompilerFlags (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_AddCurrentBuildDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_AddCurrentRelativeDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_AddCurrentSourceDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_AddInclude (GWB_CONTEXT *ctx, const char *genType, const char *incl)
void GWB_Context_AddLinkerFlags (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_AddSourceFile (GWB_CONTEXT *ctx, GWB_FILE *f)
void GWB_Context_ClearDefineList (GWB_CONTEXT *ctx)
void GWB_Context_ClearIncludeList (GWB_CONTEXT *ctx)
void GWB_Context_ClearSourceFileList2 (GWB_CONTEXT *ctx)
void GWB_Context_Dump (const GWB_CONTEXT *ctx, int indent)
GWB_CONTEXTGWB_Context_dup (const GWB_CONTEXT *originalCtx)
void GWB_Context_free (GWB_CONTEXT *ctx)
const char * GWB_Context_GetCompilerFlags (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetCurrentBuildDir (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetCurrentRelativeDir (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetCurrentSourceDir (const GWB_CONTEXT *ctx)
GWB_TARGETGWB_Context_GetCurrentTarget (const GWB_CONTEXT *ctx)
GWB_KEYVALUEPAIR_LIST * GWB_Context_GetDefineList (const GWB_CONTEXT *ctx)
GWENBUILDGWB_Context_GetGwenbuild (const GWB_CONTEXT *ctx)
GWB_KEYVALUEPAIR_LIST * GWB_Context_GetIncludeList (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetInitialSourceDir (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetLinkerFlags (const GWB_CONTEXT *ctx)
GWB_FILE_LIST2 * GWB_Context_GetSourceFileList2 (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetTopBuildDir (const GWB_CONTEXT *ctx)
const char * GWB_Context_GetTopSourceDir (const GWB_CONTEXT *ctx)
GWEN_DB_NODEGWB_Context_GetVars (const GWB_CONTEXT *ctx)
void GWB_Context_InsertCurrentSourceDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_InsertTopBuildDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_InsertTopSourceDir (GWB_CONTEXT *ctx, const char *s)
GWB_CONTEXTGWB_Context_new (GWENBUILD *gwenbuild)
void GWB_Context_SetCompilerFlags (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetCurrentBuildDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetCurrentRelativeDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetCurrentSourceDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetCurrentTarget (GWB_CONTEXT *ctx, GWB_TARGET *target)
void GWB_Context_SetDefine (GWB_CONTEXT *ctx, const char *name, const char *value)
void GWB_Context_SetInitialSourceDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetLinkerFlags (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetTopBuildDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_SetTopSourceDir (GWB_CONTEXT *ctx, const char *s)
void GWB_Context_toXml (const GWB_CONTEXT *ctx, GWEN_XMLNODE *xmlNode, int withDb)
void GWB_Context_Tree2_Dump (const GWB_CONTEXT *ctx, int indent)

Function Documentation

◆ _combinedString()

char * _combinedString ( const char * string1,
const char * string2,
const char delim )
static

◆ _exportDbToXml()

void _exportDbToXml ( GWEN_DB_NODE * db,
GWEN_XMLNODE * xmlNode )
static

Definition at line 576 of file context.c.

References DBG_ERROR, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_DB_FLAGS_DEFAULT, GWEN_DB_WriteToBuffer(), GWEN_XMLNode_AddChild(), GWEN_XMLNode_new(), GWEN_XMLNodeTypeData, and NULL.

Referenced by GWB_Context_toXml().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_AddCompilerFlags()

void GWB_Context_AddCompilerFlags ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 319 of file context.c.

References _combinedString().

Here is the call graph for this function:

◆ GWB_Context_AddCurrentBuildDir()

void GWB_Context_AddCurrentBuildDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 203 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_AddCurrentRelativeDir()

void GWB_Context_AddCurrentRelativeDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 262 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_AddCurrentSourceDir()

void GWB_Context_AddCurrentSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 221 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_AddInclude()

void GWB_Context_AddInclude ( GWB_CONTEXT * ctx,
const char * genType,
const char * incl )

Definition at line 367 of file context.c.

References GWB_KeyValuePair_new(), and NULL.

Referenced by _parseIncludes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_AddLinkerFlags()

void GWB_Context_AddLinkerFlags ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 349 of file context.c.

References _combinedString().

Here is the call graph for this function:

◆ GWB_Context_AddSourceFile()

void GWB_Context_AddSourceFile ( GWB_CONTEXT * ctx,
GWB_FILE * f )

Definition at line 441 of file context.c.

References NULL.

Referenced by GWB_Parser_AddTargetForSourceFile(), and GWB_Parser_ParseSourcesOrHeaders().

Here is the caller graph for this function:

◆ GWB_Context_ClearDefineList()

void GWB_Context_ClearDefineList ( GWB_CONTEXT * ctx)

Definition at line 417 of file context.c.

References NULL.

Referenced by GWB_Parser_CopyContextForSubdir(), and GWB_Parser_CopyContextForTarget().

Here is the caller graph for this function:

◆ GWB_Context_ClearIncludeList()

void GWB_Context_ClearIncludeList ( GWB_CONTEXT * ctx)

Definition at line 382 of file context.c.

References NULL.

Referenced by GWB_Parser_CopyContextForSubdir(), and GWB_Parser_CopyContextForTarget().

Here is the caller graph for this function:

◆ GWB_Context_ClearSourceFileList2()

void GWB_Context_ClearSourceFileList2 ( GWB_CONTEXT * ctx)

Definition at line 450 of file context.c.

References NULL.

Referenced by GWB_Parser_CopyContextForSubdir(), and GWB_Parser_CopyContextForTarget().

Here is the caller graph for this function:

◆ GWB_Context_Dump()

void GWB_Context_Dump ( const GWB_CONTEXT * ctx,
int indent )

Definition at line 598 of file context.c.

References GWB_Target_GetName(), GWBUILD_Debug_PrintDb(), GWBUILD_Debug_PrintFileList2(), GWBUILD_Debug_PrintKvpList(), GWBUILD_Debug_PrintValue(), and NULL.

Referenced by GWB_Builder_Dump(), GWB_Context_Tree2_Dump(), and GWB_Target_Dump().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_dup()

GWB_CONTEXT * GWB_Context_dup ( const GWB_CONTEXT * originalCtx)

Definition at line 49 of file context.c.

References GWB_KeyValuePair_List_dup(), GWEN_DB_Group_dup(), GWEN_NEW_OBJECT, and GWEN_TREE2_INIT.

Referenced by GWB_Parser_CopyContextForSubdir(), and GWB_Parser_CopyContextForTarget().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_free()

void GWB_Context_free ( GWB_CONTEXT * ctx)

Definition at line 93 of file context.c.

References GWEN_DB_Group_free(), GWEN_FREE_OBJECT, and GWEN_TREE2_FINI.

Referenced by _parseSubdir(), GWB_ParseTarget(), and GWB_Project_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_GetCompilerFlags()

const char * GWB_Context_GetCompilerFlags ( const GWB_CONTEXT * ctx)

Definition at line 300 of file context.c.

◆ GWB_Context_GetCurrentBuildDir()

const char * GWB_Context_GetCurrentBuildDir ( const GWB_CONTEXT * ctx)

Definition at line 184 of file context.c.

Referenced by _addBuildCmd(), _addBuildFileNameToGwBuild(), _setupOutFiles(), GWB_Builder_AddFileNameToBuffer(), and GWB_Builder_AddRelativeFolderToBuffer().

Here is the caller graph for this function:

◆ GWB_Context_GetCurrentRelativeDir()

const char * GWB_Context_GetCurrentRelativeDir ( const GWB_CONTEXT * ctx)

◆ GWB_Context_GetCurrentSourceDir()

const char * GWB_Context_GetCurrentSourceDir ( const GWB_CONTEXT * ctx)

Definition at line 214 of file context.c.

Referenced by _getSourcePathForFileName(), and GWB_Parser_CopyContextForSubdir().

Here is the caller graph for this function:

◆ GWB_Context_GetCurrentTarget()

◆ GWB_Context_GetDefineList()

GWB_KEYVALUEPAIR_LIST * GWB_Context_GetDefineList ( const GWB_CONTEXT * ctx)

Definition at line 392 of file context.c.

Referenced by _readArgsDefines().

Here is the caller graph for this function:

◆ GWB_Context_GetGwenbuild()

GWENBUILD * GWB_Context_GetGwenbuild ( const GWB_CONTEXT * ctx)

Definition at line 117 of file context.c.

Referenced by _determineTarget().

Here is the caller graph for this function:

◆ GWB_Context_GetIncludeList()

GWB_KEYVALUEPAIR_LIST * GWB_Context_GetIncludeList ( const GWB_CONTEXT * ctx)

Definition at line 360 of file context.c.

Referenced by _readArgsIncludes().

Here is the caller graph for this function:

◆ GWB_Context_GetInitialSourceDir()

◆ GWB_Context_GetLinkerFlags()

const char * GWB_Context_GetLinkerFlags ( const GWB_CONTEXT * ctx)

Definition at line 330 of file context.c.

◆ GWB_Context_GetSourceFileList2()

GWB_FILE_LIST2 * GWB_Context_GetSourceFileList2 ( const GWB_CONTEXT * ctx)

Definition at line 434 of file context.c.

Referenced by _addOrBuildTargetSources().

Here is the caller graph for this function:

◆ GWB_Context_GetTopBuildDir()

const char * GWB_Context_GetTopBuildDir ( const GWB_CONTEXT * ctx)

Definition at line 124 of file context.c.

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the caller graph for this function:

◆ GWB_Context_GetTopSourceDir()

const char * GWB_Context_GetTopSourceDir ( const GWB_CONTEXT * ctx)

Definition at line 154 of file context.c.

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the caller graph for this function:

◆ GWB_Context_GetVars()

◆ GWB_Context_InsertCurrentSourceDir()

void GWB_Context_InsertCurrentSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 232 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_InsertTopBuildDir()

void GWB_Context_InsertTopBuildDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 143 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_InsertTopSourceDir()

void GWB_Context_InsertTopSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 173 of file context.c.

References _combinedString().

Referenced by GWB_Parser_CopyContextForSubdir().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_new()

GWB_CONTEXT * GWB_Context_new ( GWENBUILD * gwenbuild)

Definition at line 34 of file context.c.

References GWEN_DB_Group_new(), GWEN_NEW_OBJECT, and GWEN_TREE2_INIT.

Referenced by GWB_Setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_SetCompilerFlags()

void GWB_Context_SetCompilerFlags ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 307 of file context.c.

References NULL.

◆ GWB_Context_SetCurrentBuildDir()

void GWB_Context_SetCurrentBuildDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 191 of file context.c.

References NULL.

◆ GWB_Context_SetCurrentRelativeDir()

void GWB_Context_SetCurrentRelativeDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 273 of file context.c.

References NULL.

◆ GWB_Context_SetCurrentSourceDir()

void GWB_Context_SetCurrentSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 243 of file context.c.

References NULL.

Referenced by GWB_Parser_ReadBuildTree().

Here is the caller graph for this function:

◆ GWB_Context_SetCurrentTarget()

void GWB_Context_SetCurrentTarget ( GWB_CONTEXT * ctx,
GWB_TARGET * target )

doesn't take over target

Definition at line 466 of file context.c.

Referenced by GWB_Parser_AddTargetForSourceFile(), and GWB_ParseTarget().

Here is the caller graph for this function:

◆ GWB_Context_SetDefine()

void GWB_Context_SetDefine ( GWB_CONTEXT * ctx,
const char * name,
const char * value )

Definition at line 399 of file context.c.

References GWB_KeyValuePair_List_GetFirstByKey(), GWB_KeyValuePair_new(), GWB_KeyValuePair_SetValue(), and NULL.

Referenced by _parseDefines().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_SetInitialSourceDir()

void GWB_Context_SetInitialSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 292 of file context.c.

References NULL.

Referenced by GWB_Parser_ReadBuildTree().

Here is the caller graph for this function:

◆ GWB_Context_SetLinkerFlags()

void GWB_Context_SetLinkerFlags ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 337 of file context.c.

References NULL.

◆ GWB_Context_SetTopBuildDir()

void GWB_Context_SetTopBuildDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 131 of file context.c.

References NULL.

◆ GWB_Context_SetTopSourceDir()

void GWB_Context_SetTopSourceDir ( GWB_CONTEXT * ctx,
const char * s )

Definition at line 161 of file context.c.

References NULL.

Referenced by GWB_Parser_ReadBuildTree().

Here is the caller graph for this function:

◆ GWB_Context_toXml()

void GWB_Context_toXml ( const GWB_CONTEXT * ctx,
GWEN_XMLNODE * xmlNode,
int withDb )

Definition at line 512 of file context.c.

References _exportDbToXml(), GWB_Context_toXml(), GWB_KeyValuePair_List_WriteXml(), GWEN_XMLNode_AddChild(), GWEN_XMLNode_new(), GWEN_XMLNode_SetCharValue(), and GWEN_XMLNodeTypeTag.

Referenced by GWB_Context_toXml(), and GWB_Utils_WriteContextTreeToFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWB_Context_Tree2_Dump()

void GWB_Context_Tree2_Dump ( const GWB_CONTEXT * ctx,
int indent )

Definition at line 624 of file context.c.

References GWB_Context_Dump(), and GWB_Context_Tree2_Dump().

Referenced by GWB_Context_Tree2_Dump(), and GWB_Project_Dump().

Here is the call graph for this function:
Here is the caller graph for this function: