gwenhywfar 5.10.1
Macros | Typedefs | Enumerations | Functions
gwenbuild.h File Reference
#include "gwenbuild/types/keyvaluepair.h"
#include "gwenbuild/types/file.h"
#include "gwenbuild/types/target.h"
#include "gwenbuild/types/project.h"
#include "gwenbuild/buildctx/buildctx.h"
#include "gwenbuild/types/option.h"
#include "gwenbuild/builders/gbuilderdescr.h"
#include <gwenhywfar/db.h>
#include <gwenhywfar/xml.h>
#include <gwenhywfar/stringlist.h>
#include <gwenhywfar/buffer.h>
#include <time.h>
Include dependency graph for gwenbuild.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GWENBUILD_FLAGS_STATIC   0x0001
 

Typedefs

typedef struct GWENBUILD GWENBUILD
 

Enumerations

enum  GWBUILD_TARGETTYPE {
  GWBUILD_TargetType_Invalid =-1 , GWBUILD_TargetType_None =0 , GWBUILD_TargetType_InstallLibrary , GWBUILD_TargetType_ConvenienceLibrary ,
  GWBUILD_TargetType_Program , GWBUILD_TargetType_CxxProgram , GWBUILD_TargetType_Objects , GWBUILD_TargetType_Module ,
  GWBUILD_TargetType_I18nCatalog
}
 

Functions

void GWBUILD_AddBuildFilename (GWENBUILD *gwenbuild, const char *s)
 
void GWBUILD_AddFilesFromStringList (GWB_FILE_LIST2 *mainFileList, const char *sFolder, const GWEN_STRINGLIST *fileNameList, GWB_FILE_LIST2 *outFileList, uint32_t flagsToAdd, int copyFileForOutList)
 
void GWBUILD_AddFlags (GWENBUILD *gwenbuild, uint32_t f)
 
void GWBUILD_Debug_PrintBuildCmdList2 (const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent)
 
void GWBUILD_Debug_PrintBuilderList2 (const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump)
 
void GWBUILD_Debug_PrintDb (const char *sName, GWEN_DB_NODE *db, int indent)
 
void GWBUILD_Debug_PrintFile (const char *sName, const GWB_FILE *file, int indent)
 
void GWBUILD_Debug_PrintFileList2 (const char *sName, const GWB_FILE_LIST2 *fileList2, int indent)
 
void GWBUILD_Debug_PrintIntValue (const char *sName, int value, int indent)
 
void GWBUILD_Debug_PrintKvpList (const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent)
 
void GWBUILD_Debug_PrintOptionList (const char *sName, const GWB_OPTION_LIST *optionList, int indent)
 
void GWBUILD_Debug_PrintStringList (const char *sName, const GWEN_STRINGLIST *sl, int indent)
 
void GWBUILD_Debug_PrintTargetList2 (const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump)
 
void GWBUILD_Debug_PrintValue (const char *sName, const char *sValue, int indent)
 
void GWBUILD_DelFlags (GWENBUILD *gwenbuild, uint32_t f)
 
void GWBUILD_free (GWENBUILD *gwenbuild)
 
const char * GWBUILD_GetArchFromTriplet (const char *sTriplet)
 
GWEN_STRINGLISTGWBUILD_GetBuildFilenameList (const GWENBUILD *gwenbuild)
 
uint32_t GWBUILD_GetFlags (const GWENBUILD *gwenbuild)
 
const char * GWBUILD_GetHostArch (void)
 
const char * GWBUILD_GetHostSystem (void)
 
time_t GWBUILD_GetModificationTimeOfFile (const char *filename)
 
GWEN_STRINGLISTGWBUILD_GetPathFromEnvironment (void)
 
const char * GWBUILD_GetSystemFromTriplet (const char *sTriplet)
 
int GWBUILD_GetTargetIsWindows (const GWENBUILD *gwenbuild)
 
const char * GWBUILD_GetTargetSystem (const GWENBUILD *gwenbuild)
 
GWB_BUILD_CONTEXTGWBUILD_MakeBuildCommands (GWB_PROJECT *project)
 
int GWBUILD_MakeBuildersForTargets (GWB_PROJECT *project)
 
GWENBUILDGWBUILD_new (void)
 
void GWBUILD_SetFlags (GWENBUILD *gwenbuild, uint32_t f)
 
void GWBUILD_SetTargetIsWindows (GWENBUILD *gwenbuild, int i)
 
void GWBUILD_SetTargetSystem (GWENBUILD *gwenbuild, const char *s)
 
GWBUILD_TARGETTYPE GWBUILD_TargetType_fromString (const char *s)
 
const char * GWBUILD_TargetType_toString (GWBUILD_TARGETTYPE tt)
 

Macro Definition Documentation

◆ GWENBUILD_FLAGS_STATIC

#define GWENBUILD_FLAGS_STATIC   0x0001

Definition at line 32 of file gwenbuild.h.

Typedef Documentation

◆ GWENBUILD

typedef struct GWENBUILD GWENBUILD

main object of gwenbuild

Definition at line 15 of file gwenbuild.h.

Enumeration Type Documentation

◆ GWBUILD_TARGETTYPE

Enumerator
GWBUILD_TargetType_Invalid 
GWBUILD_TargetType_None 
GWBUILD_TargetType_InstallLibrary 
GWBUILD_TargetType_ConvenienceLibrary 
GWBUILD_TargetType_Program 
GWBUILD_TargetType_CxxProgram 
GWBUILD_TargetType_Objects 
GWBUILD_TargetType_Module 
GWBUILD_TargetType_I18nCatalog 

Definition at line 18 of file gwenbuild.h.

Function Documentation

◆ GWBUILD_AddBuildFilename()

void GWBUILD_AddBuildFilename ( GWENBUILD gwenbuild,
const char *  s 
)

Definition at line 147 of file gwenbuild.c.

References GWEN_StringList_AppendString().

Referenced by _addBuildFileNameToGwBuild().

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

◆ GWBUILD_AddFilesFromStringList()

void GWBUILD_AddFilesFromStringList ( GWB_FILE_LIST2 *  mainFileList,
const char *  sFolder,
const GWEN_STRINGLIST fileNameList,
GWB_FILE_LIST2 *  outFileList,
uint32_t  flagsToAdd,
int  copyFileForOutList 
)

Definition at line 1009 of file gwenbuild.c.

References GWB_File_AddFlags(), GWB_File_dup(), GWB_File_List2_GetOrCreateFile(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), and GWEN_StringListEntry_Next().

Referenced by _readFilesFromDataNode().

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

◆ GWBUILD_AddFlags()

void GWBUILD_AddFlags ( GWENBUILD gwenbuild,
uint32_t  f 
)

Definition at line 98 of file gwenbuild.c.

Referenced by GWB_Setup().

Here is the caller graph for this function:

◆ GWBUILD_Debug_PrintBuildCmdList2()

void GWBUILD_Debug_PrintBuildCmdList2 ( const char *  sName,
const GWB_BUILD_CMD_LIST2 *  buildCmdList2,
int  indent 
)

Definition at line 436 of file gwenbuild.c.

References GWB_BuildCmd_Dump().

Referenced by GWB_BuildCtx_Dump(), and GWB_BuildCtx_FillWaitingQueue().

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

◆ GWBUILD_Debug_PrintBuilderList2()

void GWBUILD_Debug_PrintBuilderList2 ( const char *  sName,
const GWB_BUILDER_LIST2 *  builderList2,
int  indent,
int  fullDump 
)

Definition at line 409 of file gwenbuild.c.

References GWB_Builder_Dump().

Referenced by GWB_Project_Dump().

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

◆ GWBUILD_Debug_PrintDb()

void GWBUILD_Debug_PrintDb ( const char *  sName,
GWEN_DB_NODE db,
int  indent 
)

Definition at line 273 of file gwenbuild.c.

References GWEN_DB_Dump().

Referenced by GWB_Context_Dump().

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

◆ GWBUILD_Debug_PrintFile()

void GWBUILD_Debug_PrintFile ( const char *  sName,
const GWB_FILE file,
int  indent 
)

Definition at line 287 of file gwenbuild.c.

References GWB_FILE_FLAGS_DIST, GWB_FILE_FLAGS_GENERATED, GWB_FILE_FLAGS_INSTALL, GWB_File_GetFileType(), GWB_File_GetFlags(), GWB_File_GetFolder(), GWB_File_GetId(), GWB_File_GetInstallPath(), and GWB_File_GetName().

Referenced by GWB_Target_Dump(), and GWBUILD_Debug_PrintFileList2().

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

◆ GWBUILD_Debug_PrintFileList2()

void GWBUILD_Debug_PrintFileList2 ( const char *  sName,
const GWB_FILE_LIST2 *  fileList2,
int  indent 
)

Definition at line 334 of file gwenbuild.c.

References GWBUILD_Debug_PrintFile(), and NULL.

Referenced by GWB_BuildCmd_Dump(), GWB_BuildCtx_Dump(), GWB_Builder_Dump(), GWB_Context_Dump(), GWB_Project_Dump(), and GWB_Target_Dump().

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

◆ GWBUILD_Debug_PrintIntValue()

void GWBUILD_Debug_PrintIntValue ( const char *  sName,
int  value,
int  indent 
)

Definition at line 236 of file gwenbuild.c.

Referenced by GWB_BuildCmd_Dump(), GWB_Project_Dump(), and GWB_Target_Dump().

Here is the caller graph for this function:

◆ GWBUILD_Debug_PrintKvpList()

void GWBUILD_Debug_PrintKvpList ( const char *  sName,
const GWB_KEYVALUEPAIR_LIST *  kvpList,
int  indent 
)

Definition at line 247 of file gwenbuild.c.

References GWB_KeyValuePair_GetKey(), GWB_KeyValuePair_GetValue(), and GWBUILD_Debug_PrintValue().

Referenced by GWB_BuildCmd_Dump(), GWB_Context_Dump(), GWB_Option_Dump(), and GWB_Project_Dump().

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

◆ GWBUILD_Debug_PrintOptionList()

void GWBUILD_Debug_PrintOptionList ( const char *  sName,
const GWB_OPTION_LIST *  optionList,
int  indent 
)

Definition at line 388 of file gwenbuild.c.

References GWB_Option_Dump().

Referenced by GWB_Project_Dump().

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

◆ GWBUILD_Debug_PrintStringList()

void GWBUILD_Debug_PrintStringList ( const char *  sName,
const GWEN_STRINGLIST sl,
int  indent 
)

Definition at line 463 of file gwenbuild.c.

References GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), and GWEN_StringListEntry_Next().

Referenced by GWB_Option_Dump(), and GWB_Target_Dump().

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

◆ GWBUILD_Debug_PrintTargetList2()

void GWBUILD_Debug_PrintTargetList2 ( const char *  sName,
const GWB_TARGET_LIST2 *  targetList2,
int  indent,
int  fullDump 
)

Definition at line 361 of file gwenbuild.c.

References GWB_Target_Dump().

Referenced by GWB_Project_Dump().

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

◆ GWBUILD_Debug_PrintValue()

void GWBUILD_Debug_PrintValue ( const char *  sName,
const char *  sValue,
int  indent 
)

Definition at line 225 of file gwenbuild.c.

Referenced by GWB_BuildCmd_Dump(), GWB_Builder_Dump(), GWB_Context_Dump(), GWB_Option_Dump(), GWB_Project_Dump(), GWB_Target_Dump(), and GWBUILD_Debug_PrintKvpList().

Here is the caller graph for this function:

◆ GWBUILD_DelFlags()

void GWBUILD_DelFlags ( GWENBUILD gwenbuild,
uint32_t  f 
)

Definition at line 105 of file gwenbuild.c.

◆ GWBUILD_free()

void GWBUILD_free ( GWENBUILD gwenbuild)

Definition at line 72 of file gwenbuild.c.

References GWEN_FREE_OBJECT, and GWEN_StringList_free().

Here is the call graph for this function:

◆ GWBUILD_GetArchFromTriplet()

const char * GWBUILD_GetArchFromTriplet ( const char *  sTriplet)

Definition at line 985 of file gwenbuild.c.

References GWEN_Text_ComparePattern().

Referenced by _determineTarget().

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

◆ GWBUILD_GetBuildFilenameList()

GWEN_STRINGLIST * GWBUILD_GetBuildFilenameList ( const GWENBUILD gwenbuild)

Definition at line 140 of file gwenbuild.c.

Referenced by GWB_Utils_WriteBuildFileList().

Here is the caller graph for this function:

◆ GWBUILD_GetFlags()

uint32_t GWBUILD_GetFlags ( const GWENBUILD gwenbuild)

Definition at line 84 of file gwenbuild.c.

Referenced by _determineTarget(), and _genBuilderForTarget().

Here is the caller graph for this function:

◆ GWBUILD_GetHostArch()

const char * GWBUILD_GetHostArch ( void  )

Definition at line 906 of file gwenbuild.c.

Referenced by _determineTarget().

Here is the caller graph for this function:

◆ GWBUILD_GetHostSystem()

const char * GWBUILD_GetHostSystem ( void  )

Definition at line 954 of file gwenbuild.c.

Referenced by _determineTarget().

Here is the caller graph for this function:

◆ GWBUILD_GetModificationTimeOfFile()

time_t GWBUILD_GetModificationTimeOfFile ( const char *  filename)

Definition at line 885 of file gwenbuild.c.

References DBG_INFO, and NULL.

Referenced by _checkDatesOfFileAgainstList(), _filesChanged(), _getHighestModificationTime(), and _getLowestModificationTime().

Here is the caller graph for this function:

◆ GWBUILD_GetPathFromEnvironment()

GWEN_STRINGLIST * GWBUILD_GetPathFromEnvironment ( void  )

Definition at line 154 of file gwenbuild.c.

References GWEN_StringList_fromString2(), GWEN_TEXT_FLAGS_CHECK_BACKSLASH, GWEN_TEXT_FLAGS_DEL_LEADING_BLANKS, GWEN_TEXT_FLAGS_DEL_QUOTES, GWEN_TEXT_FLAGS_DEL_TRAILING_BLANKS, and NULL.

Referenced by _determineTools(), and _parseProg().

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

◆ GWBUILD_GetSystemFromTriplet()

const char * GWBUILD_GetSystemFromTriplet ( const char *  sTriplet)

Definition at line 997 of file gwenbuild.c.

References GWEN_Text_ComparePattern().

Referenced by _determineTarget().

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

◆ GWBUILD_GetTargetIsWindows()

int GWBUILD_GetTargetIsWindows ( const GWENBUILD gwenbuild)

Definition at line 126 of file gwenbuild.c.

Referenced by _readBuilderDescrList(), and GWB_GenericBuilder_Factory().

Here is the caller graph for this function:

◆ GWBUILD_GetTargetSystem()

const char * GWBUILD_GetTargetSystem ( const GWENBUILD gwenbuild)

Definition at line 112 of file gwenbuild.c.

◆ GWBUILD_MakeBuildCommands()

GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands ( GWB_PROJECT project)

Definition at line 750 of file gwenbuild.c.

References _addBuildCommandsFromBuilder(), _addExplicitBuildCommandsFromTargets(), DBG_INFO, GWB_BuildCtx_free(), GWB_BuildCtx_new(), GWB_BuildCtx_SetInitialSourceDir(), GWB_Context_GetInitialSourceDir(), GWB_Project_GetRootContext(), and NULL.

Referenced by GWB_Setup().

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

◆ GWBUILD_MakeBuildersForTargets()

int GWBUILD_MakeBuildersForTargets ( GWB_PROJECT project)

Definition at line 489 of file gwenbuild.c.

References _addOrBuildTargetSources(), _addSubTargets(), _genBuilderForTarget(), DBG_INFO, GWB_Project_AddBuilder(), GWB_Project_GetTargetList(), GWB_Target_SetBuilder(), GWEN_ERROR_GENERIC, and NULL.

Referenced by GWB_Setup().

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

◆ GWBUILD_new()

GWENBUILD * GWBUILD_new ( void  )

Definition at line 60 of file gwenbuild.c.

References GWEN_NEW_OBJECT, and GWEN_StringList_new().

Referenced by GWB_Setup().

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

◆ GWBUILD_SetFlags()

void GWBUILD_SetFlags ( GWENBUILD gwenbuild,
uint32_t  f 
)

Definition at line 91 of file gwenbuild.c.

◆ GWBUILD_SetTargetIsWindows()

void GWBUILD_SetTargetIsWindows ( GWENBUILD gwenbuild,
int  i 
)

Definition at line 133 of file gwenbuild.c.

Referenced by _determineTarget().

Here is the caller graph for this function:

◆ GWBUILD_SetTargetSystem()

void GWBUILD_SetTargetSystem ( GWENBUILD gwenbuild,
const char *  s 
)

Definition at line 119 of file gwenbuild.c.

References NULL.

Referenced by _determineTarget().

Here is the caller graph for this function:

◆ GWBUILD_TargetType_fromString()

GWBUILD_TARGETTYPE GWBUILD_TargetType_fromString ( const char *  s)

◆ GWBUILD_TargetType_toString()

const char * GWBUILD_TargetType_toString ( GWBUILD_TARGETTYPE  tt)