gwenhywfar 5.12.0
c_build.c
Go to the documentation of this file.
1/***************************************************************************
2 begin : Mon Feb 08 2021
3 copyright : (C) 2021 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * Please see toplevel file COPYING for license details *
8 ***************************************************************************/
9
10#ifdef HAVE_CONFIG_H
11# include <config.h>
12#endif
13
14
15#include "c_build.h"
16#include "c_setup.h"
17#include "utils.h"
20#include "gwenbuild/filenames.h"
21
22#include <gwenhywfar/debug.h>
23
24
25
27{
28 GWB_BUILD_CONTEXT *buildCtx;
29 int rv;
30 int numThreads;
31 const char *builderName;
32
33 numThreads=GWEN_DB_GetIntValue(dbArgs, "jobs", 0, 1);
34 builderName=GWEN_DB_GetCharValue(dbArgs, "builder", 0, NULL);
35
37 fprintf(stdout, "Build files changed, repeating last setup command.\n");
39 if (rv<0) {
40 DBG_INFO(NULL, "here");
41 return rv;
42 }
43 }
44
46 if (buildCtx==NULL) {
47 fprintf(stderr, "ERROR: Error reading build context from file.\n");
48 return 2;
49 }
50
51 /* first build typemaker2 files */
52 if (!(builderName && *builderName)) {
53 rv=GWB_BuildCtx_Run(buildCtx, numThreads, 0, "tm2builder");
54 if (rv<0) {
55 fprintf(stderr, "ERROR: Error building typermaker2 files.\n");
56 return 3;
57 }
58 }
59
60 /* build the rest */
61 rv=GWB_BuildCtx_Run(buildCtx, numThreads, 0, builderName);
62 if (rv<0) {
63 fprintf(stderr, "ERROR: Error building builds.\n");
64 return 3;
65 }
66
67 return 0;
68}
69
70
#define NULL
Definition binreloc.c:300
struct GWB_BUILD_CONTEXT GWB_BUILD_CONTEXT
Definition buildctx.h:16
int GWB_BuildCtx_Run(GWB_BUILD_CONTEXT *bctx, int maxConcurrentJobs, int usePrepareCommands, const char *builderName)
GWB_BUILD_CONTEXT * GWB_BuildCtx_ReadFromXmlFile(const char *fileName)
int GWB_Build(GWEN_DB_NODE *dbArgs)
Definition c_build.c:26
int GWB_RepeatLastSetup(const char *fileName)
Definition c_setup.c:159
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
Definition db.c:971
int GWEN_DB_GetIntValue(GWEN_DB_NODE *n, const char *path, int idx, int defVal)
Definition db.c:1163
struct GWEN_DB_NODE GWEN_DB_NODE
Definition db.h:228
#define DBG_INFO(dbg_logger, format,...)
Definition debug.h:181
#define GWBUILD_FILE_BUILDFILES
Definition filenames.h:14
#define GWBUILD_FILE_ARGS
Definition filenames.h:20
#define GWBUILD_FILE_CTX
Definition filenames.h:15
int GWB_Utils_BuildFilesChanged(const char *fileName)
Definition utils.c:310