gwenhywfar  5.10.1
gwenbuild.h
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 #ifndef GWBUILD_GWENBUILD_H
11 #define GWBUILD_GWENBUILD_H
12 
13 
15 typedef struct GWENBUILD GWENBUILD;
16 
17 
18 typedef enum {
29 
30 
31 
32 #define GWENBUILD_FLAGS_STATIC 0x0001
33 
34 
35 
37 #include "gwenbuild/types/file.h"
38 #include "gwenbuild/types/target.h"
41 #include "gwenbuild/types/option.h"
43 
44 #include <gwenhywfar/db.h>
45 #include <gwenhywfar/xml.h>
46 #include <gwenhywfar/stringlist.h>
47 #include <gwenhywfar/buffer.h>
48 
49 #include <time.h>
50 
51 
52 
53 GWENBUILD *GWBUILD_new(void);
54 void GWBUILD_free(GWENBUILD *gwenbuild);
55 
56 
57 uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild);
58 void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f);
59 void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f);
60 void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f);
61 
62 
63 const char *GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild);
64 void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s);
65 
66 int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild);
67 void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i);
68 
69 
72 
73 
75 void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s);
76 
77 
78 const char *GWBUILD_GetHostArch(void);
79 const char *GWBUILD_GetHostSystem(void);
80 
81 const char *GWBUILD_GetArchFromTriplet(const char *sTriplet);
82 const char *GWBUILD_GetSystemFromTriplet(const char *sTriplet);
83 
84 
86 
87 
88 void GWBUILD_AddFilesFromStringList(GWB_FILE_LIST2 *mainFileList,
89  const char *sFolder,
90  const GWEN_STRINGLIST *fileNameList,
91  GWB_FILE_LIST2 *outFileList,
92  uint32_t flagsToAdd,
93  int copyFileForOutList);
94 
95 
98 
99 time_t GWBUILD_GetModificationTimeOfFile(const char *filename);
100 
101 
102 void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent);
103 void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent);
104 void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent);
105 void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent);
106 void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent);
107 void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump);
108 void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump);
109 void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent);
110 void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent);
111 void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent);
112 void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent);
113 
114 
115 
116 #endif
GWEN_STRINGLIST * GWBUILD_GetBuildFilenameList(const GWENBUILD *gwenbuild)
Definition: gwenbuild.c:140
void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i)
Definition: gwenbuild.c:133
void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent)
Definition: gwenbuild.c:388
int GWBUILD_MakeBuildersForTargets(GWB_PROJECT *project)
Definition: gwenbuild.c:489
struct GWEN_DB_NODE GWEN_DB_NODE
Definition: db.h:228
GWENBUILD * GWBUILD_new(void)
Definition: gwenbuild.c:60
GWBUILD_TARGETTYPE GWBUILD_TargetType_fromString(const char *s)
Definition: gwenbuild.c:176
void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent)
Definition: gwenbuild.c:463
void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump)
Definition: gwenbuild.c:361
struct GWB_FILE GWB_FILE
Definition: file.h:18
struct GWB_BUILD_CONTEXT GWB_BUILD_CONTEXT
Definition: buildctx.h:16
void GWBUILD_AddFilesFromStringList(GWB_FILE_LIST2 *mainFileList, const char *sFolder, const GWEN_STRINGLIST *fileNameList, GWB_FILE_LIST2 *outFileList, uint32_t flagsToAdd, int copyFileForOutList)
Definition: gwenbuild.c:1009
const char * GWBUILD_GetHostSystem(void)
Definition: gwenbuild.c:954
const char * GWBUILD_GetHostArch(void)
Definition: gwenbuild.c:906
struct GWB_PROJECT GWB_PROJECT
Definition: project.h:14
uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild)
Definition: gwenbuild.c:84
GWBUILD_TARGETTYPE
Definition: gwenbuild.h:18
void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump)
Definition: gwenbuild.c:409
void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition: gwenbuild.c:91
void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s)
Definition: gwenbuild.c:119
int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild)
Definition: gwenbuild.c:126
void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent)
Definition: gwenbuild.c:287
void GWBUILD_free(GWENBUILD *gwenbuild)
Definition: gwenbuild.c:72
void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition: gwenbuild.c:98
time_t GWBUILD_GetModificationTimeOfFile(const char *filename)
Definition: gwenbuild.c:885
const char * GWBUILD_GetArchFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:985
const char * GWBUILD_GetSystemFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:997
void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent)
Definition: gwenbuild.c:225
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:56
void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent)
Definition: gwenbuild.c:247
const char * GWBUILD_TargetType_toString(GWBUILD_TARGETTYPE tt)
Definition: gwenbuild.c:207
GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands(GWB_PROJECT *project)
Definition: gwenbuild.c:750
void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent)
Definition: gwenbuild.c:273
GWEN_STRINGLIST * GWBUILD_GetPathFromEnvironment(void)
Definition: gwenbuild.c:154
void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent)
Definition: gwenbuild.c:334
void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition: gwenbuild.c:105
void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent)
Definition: gwenbuild.c:436
const char * GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild)
Definition: gwenbuild.c:112
void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s)
Definition: gwenbuild.c:147
void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent)
Definition: gwenbuild.c:236
struct GWENBUILD GWENBUILD
Definition: gwenbuild.h:15