gwenhywfar  5.7.2
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 {
28 
29 
30 
31 #define GWENBUILD_FLAGS_STATIC 0x0001
32 
33 
34 
36 #include "gwenbuild/types/file.h"
37 #include "gwenbuild/types/target.h"
40 #include "gwenbuild/types/option.h"
42 
43 #include <gwenhywfar/db.h>
44 #include <gwenhywfar/xml.h>
45 #include <gwenhywfar/stringlist.h>
46 #include <gwenhywfar/buffer.h>
47 
48 #include <time.h>
49 
50 
51 
52 GWENBUILD *GWBUILD_new(void);
53 void GWBUILD_free(GWENBUILD *gwenbuild);
54 
55 
56 uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild);
57 void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f);
58 void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f);
59 void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f);
60 
61 
62 const char *GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild);
63 void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s);
64 
65 int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild);
66 void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i);
67 
68 
71 
72 
74 void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s);
75 
76 
77 const char *GWBUILD_GetHostArch(void);
78 const char *GWBUILD_GetHostSystem(void);
79 
80 const char *GWBUILD_GetArchFromTriplet(const char *sTriplet);
81 const char *GWBUILD_GetSystemFromTriplet(const char *sTriplet);
82 
83 
85 
86 
87 void GWBUILD_AddFilesFromStringList(GWB_FILE_LIST2 *mainFileList,
88  const char *sFolder,
89  const GWEN_STRINGLIST *fileNameList,
90  GWB_FILE_LIST2 *outFileList,
91  uint32_t flagsToAdd,
92  int copyFileForOutList);
93 
94 
97 
98 time_t GWBUILD_GetModificationTimeOfFile(const char *filename);
99 
100 
101 void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent);
102 void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent);
103 void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent);
104 void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent);
105 void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent);
106 void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump);
107 void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump);
108 void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent);
109 void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent);
110 void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent);
111 void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent);
112 
113 
114 
115 #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:385
int GWBUILD_MakeBuildersForTargets(GWB_PROJECT *project)
Definition: gwenbuild.c:486
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:460
void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump)
Definition: gwenbuild.c:358
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:1000
const char * GWBUILD_GetHostSystem(void)
Definition: gwenbuild.c:945
const char * GWBUILD_GetHostArch(void)
Definition: gwenbuild.c:897
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:406
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:284
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:882
const char * GWBUILD_GetArchFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:976
const char * GWBUILD_GetSystemFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:988
void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent)
Definition: gwenbuild.c:222
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:244
const char * GWBUILD_TargetType_toString(GWBUILD_TARGETTYPE tt)
Definition: gwenbuild.c:205
GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands(GWB_PROJECT *project)
Definition: gwenbuild.c:747
void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent)
Definition: gwenbuild.c:270
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:331
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:433
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:233
struct GWENBUILD GWENBUILD
Definition: gwenbuild.h:15