|
gwenhywfar
5.10.1
|
#include "gwenbuild/buildctx/buildctx_p.h"#include "gwenbuild/buildctx/buildctx_run.h"#include "gwenbuild/buildctx/buildctx_bdeps.h"#include "gwenbuild/buildctx/buildctx_depfile.h"#include <gwenhywfar/debug.h>#include <gwenhywfar/text.h>#include <gwenhywfar/directory.h>#include <unistd.h>#include <ctype.h>
Go to the source code of this file.
Macros | |
| #define | DISABLE_DEBUGLOG |
| #define | GWB_BUILDCTX_PROCESS_WAIT_TIMEOUT 10.0 |
Functions | |
| static void | _abortAllCommands (GWB_BUILD_CONTEXT *bctx) |
| static void | _abortCommandsInQueue (GWB_BUILD_CMD_LIST2 *cmdList) |
| static int | _checkDatesOfFileAgainstList (const char *fileName, const GWEN_STRINGLIST *sl) |
| static int | _checkDependencies (GWB_BUILD_CMD *bcmd, GWB_BUILD_SUBCMD *subCmd, const char *firstOutFileName) |
| static int | _checkRunningQueue (GWB_BUILD_CONTEXT *bctx) |
| static int | _checkWaitingQueue (GWB_BUILD_CONTEXT *bctx, int maxStartAllowed) |
| static void | _createCommandQueues (GWB_BUILD_CONTEXT *bctx) |
| static void | _decBlockingFilesInWaitingBuildCommands (GWB_BUILD_CMD_LIST2 *waitingCommands) |
| GWEN_STRINGLIST * | _fileListToTopBuildDirStringList (const char *initialSourceDir, GWB_FILE_LIST2 *fileList) |
| static void | _finishCurrentCommand (GWB_BUILD_CONTEXT *bctx, GWB_BUILD_CMD *bcmd, GWB_BUILD_SUBCMD *currentCommand) |
| static time_t | _getHighestModificationTime (const GWEN_STRINGLIST *slFiles) |
| static time_t | _getLowestModificationTime (const GWEN_STRINGLIST *slFiles) |
| static int | _inFilesNewerThanOutFiles (const GWEN_STRINGLIST *slInFiles, const GWEN_STRINGLIST *slOutFiles) |
| static int | _needRunCurrentCommand (GWB_BUILD_CMD *bcmd, const GWEN_STRINGLIST *slInFiles, const GWEN_STRINGLIST *slOutFiles) |
| static void | _setupCommands (GWB_BUILD_CONTEXT *bctx, int forPrepareCommands) |
| static void | _signalJobFinished (GWB_BUILD_CMD *bcmd) |
| static int | _startCommand (GWB_BUILD_CMD *bcmd, const GWEN_STRINGLIST *slOutFiles) |
| static void | _unlinkFilesInStringList (const GWEN_STRINGLIST *slFiles) |
| static int | _waitForRunningJobs (GWB_BUILD_CONTEXT *bctx) |
| int | GWB_BuildCtx_Run (GWB_BUILD_CONTEXT *bctx, int maxConcurrentJobs, int usePrepareCommands, const char *builderName) |
| #define DISABLE_DEBUGLOG |
Definition at line 14 of file buildctx_run.c.
| #define GWB_BUILDCTX_PROCESS_WAIT_TIMEOUT 10.0 |
Definition at line 30 of file buildctx_run.c.
Referenced by _waitForRunningJobs().
|
static |
Definition at line 165 of file buildctx_run.c.
References _abortCommandsInQueue(), and NULL.
Referenced by GWB_BuildCtx_Run().


|
static |
Definition at line 182 of file buildctx_run.c.
References GWB_BuildCmd_SetCurrentProcess(), and NULL.
Referenced by _abortAllCommands().


|
static |
Definition at line 515 of file buildctx_run.c.
References DBG_DEBUG, GWBUILD_GetModificationTimeOfFile(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), and NULL.
Referenced by _checkDependencies().


|
static |
Definition at line 479 of file buildctx_run.c.
References _checkDatesOfFileAgainstList(), DBG_DEBUG, GWB_BuildCmd_GetFolder(), GWB_BuildCtx_ReadAndTranslateDepfile(), GWB_BuildSubCmd_GetDepFilePath(), GWEN_StringList_free(), and NULL.
Referenced by _needRunCurrentCommand().


|
static |
Definition at line 619 of file buildctx_run.c.
References _finishCurrentCommand(), DBG_ERROR, DBG_INFO, GWB_BUILD_SUBCMD_FLAGS_IGNORE_RESULT, GWB_BuildCmd_GetCurrentCommand(), GWB_BuildCmd_GetCurrentProcess(), GWB_BuildCmd_SetCurrentProcess(), GWB_BuildSubCmd_GetFlags(), GWEN_ERROR_GENERIC, GWEN_Process_CheckState(), GWEN_Process_GetResult(), GWEN_ProcessStateExited, GWEN_ProcessStateRunning, and NULL.
Referenced by _waitForRunningJobs(), and GWB_BuildCtx_Run().


|
static |
Definition at line 230 of file buildctx_run.c.
References _finishCurrentCommand(), _needRunCurrentCommand(), _startCommand(), GWB_BuildCmd_GetBlockingFiles(), GWB_BuildCmd_GetCurrentCommand(), GWB_BuildCmd_GetInFileList2(), GWB_BuildCmd_GetOutFileList2(), GWB_File_FileListToTopBuildDirStringList(), GWEN_ERROR_GENERIC, and GWEN_StringList_free().
Referenced by GWB_BuildCtx_Run().


|
static |
Definition at line 221 of file buildctx_run.c.
Referenced by GWB_BuildCtx_Run().

|
static |
Definition at line 717 of file buildctx_run.c.
References GWB_BuildCmd_DecBlockingFiles().
Referenced by _signalJobFinished().


| GWEN_STRINGLIST* _fileListToTopBuildDirStringList | ( | const char * | initialSourceDir, |
| GWB_FILE_LIST2 * | fileList | ||
| ) |
Definition at line 287 of file buildctx_run.c.
References GWB_File_WriteFileNameToTopBuildDirString(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_Buffer_Reset(), GWEN_StringList_AppendString(), GWEN_StringList_Count(), GWEN_StringList_free(), GWEN_StringList_new(), and NULL.

|
static |
Definition at line 672 of file buildctx_run.c.
References _signalJobFinished(), and GWB_BuildCmd_SetCurrentCommand().
Referenced by _checkRunningQueue(), and _checkWaitingQueue().


|
static |
Definition at line 419 of file buildctx_run.c.
References DBG_INFO, GWBUILD_GetModificationTimeOfFile(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), and NULL.
Referenced by _inFilesNewerThanOutFiles().


|
static |
Definition at line 382 of file buildctx_run.c.
References DBG_INFO, GWBUILD_GetModificationTimeOfFile(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), and NULL.
Referenced by _inFilesNewerThanOutFiles().


|
static |
Definition at line 364 of file buildctx_run.c.
References _getHighestModificationTime(), _getLowestModificationTime(), DBG_INFO, and NULL.
Referenced by _needRunCurrentCommand().


|
static |
Definition at line 321 of file buildctx_run.c.
References _checkDependencies(), _inFilesNewerThanOutFiles(), DBG_INFO, GWB_BUILD_CMD_FLAGS_CHECK_DATES, GWB_BUILD_SUBCMD_FLAGS_CHECK_DEPENDS, GWB_BuildCmd_GetCurrentCommand(), GWB_BuildCmd_GetFlags(), GWB_BuildSubCmd_GetFlags(), GWEN_StringList_FirstString(), and NULL.
Referenced by _checkWaitingQueue().


|
static |
Definition at line 195 of file buildctx_run.c.
References GWB_BuildCmd_GetBuildCommandList(), GWB_BuildCmd_GetPrepareCommandList(), and GWB_BuildCmd_SetCurrentCommand().
Referenced by GWB_BuildCtx_Run().


|
static |
Definition at line 688 of file buildctx_run.c.
References _decBlockingFilesInWaitingBuildCommands(), GWB_BuildCmd_GetOutFileList2(), and GWB_File_GetWaitingBuildCmdList2().
Referenced by _finishCurrentCommand().


|
static |
Definition at line 561 of file buildctx_run.c.
References _unlinkFilesInStringList(), DBG_DEBUG, DBG_ERROR, GWB_BUILD_CMD_FLAGS_DEL_OUTFILES, GWB_BuildCmd_GetCurrentCommand(), GWB_BuildCmd_GetFlags(), GWB_BuildCmd_GetFolder(), GWB_BuildCmd_SetCurrentProcess(), GWB_BuildSubCmd_GetArguments(), GWB_BuildSubCmd_GetBuildMessage(), GWB_BuildSubCmd_GetCommand(), GWEN_ERROR_GENERIC, GWEN_Process_new(), GWEN_Process_SetFolder(), GWEN_Process_Start(), GWEN_ProcessStateRunning, and NULL.
Referenced by _checkWaitingQueue().


|
static |
Definition at line 456 of file buildctx_run.c.
References DBG_DEBUG, GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), and NULL.
Referenced by _startCommand().


|
static |
Definition at line 126 of file buildctx_run.c.
References _checkRunningQueue(), DBG_DEBUG, DBG_ERROR, DBG_INFO, GWB_BUILDCTX_PROCESS_WAIT_TIMEOUT, GWEN_ERROR_TIMEOUT, and NULL.
Referenced by GWB_BuildCtx_Run().


| int GWB_BuildCtx_Run | ( | GWB_BUILD_CONTEXT * | bctx, |
| int | maxConcurrentJobs, | ||
| int | usePrepareCommands, | ||
| const char * | builderName | ||
| ) |
Definition at line 59 of file buildctx_run.c.
References _abortAllCommands(), _checkRunningQueue(), _checkWaitingQueue(), _createCommandQueues(), _setupCommands(), _waitForRunningJobs(), DBG_DEBUG, DBG_ERROR, DBG_INFO, GWB_BuildCtx_FillWaitingQueue(), GWB_BuildCtx_SetupDependencies(), GWEN_ERROR_GENERIC, and NULL.
Referenced by GWB_Build(), and GWB_Prepare().


1.8.14