gwenhywfar  5.14.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 {
30 
31 
32 
33 #define GWENBUILD_FLAGS_STATIC 0x0001
34 
35 
36 
38 #include "gwenbuild/types/file.h"
39 #include "gwenbuild/types/target.h"
42 #include "gwenbuild/types/option.h"
44 
45 #include <gwenhywfar/db.h>
46 #include <gwenhywfar/xml.h>
47 #include <gwenhywfar/stringlist.h>
48 #include <gwenhywfar/buffer.h>
49 
50 #include <time.h>
51 
52 
53 
54 GWENBUILD *GWBUILD_new(void);
55 void GWBUILD_free(GWENBUILD *gwenbuild);
56 
57 
58 uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild);
59 void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f);
60 void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f);
61 void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f);
62 
63 
64 const char *GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild);
65 void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s);
66 
67 int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild);
68 void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i);
69 
70 
73 
74 
76 void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s);
77 
78 
79 const char *GWBUILD_GetHostArch(void);
80 const char *GWBUILD_GetHostSystem(void);
81 
82 const char *GWBUILD_GetArchFromTriplet(const char *sTriplet);
83 const char *GWBUILD_GetSystemFromTriplet(const char *sTriplet);
84 
85 
87 
88 
89 void GWBUILD_AddFilesFromStringList(GWB_FILE_LIST2 *mainFileList,
90  const char *sFolder,
91  const GWEN_STRINGLIST *fileNameList,
92  GWB_FILE_LIST2 *outFileList,
93  uint32_t flagsToAdd,
94  int copyFileForOutList);
95 
96 
99 
100 time_t GWBUILD_GetModificationTimeOfFile(const char *filename);
101 
102 
103 void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent);
104 void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent);
105 void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent);
106 void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent);
107 void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent);
108 void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump);
109 void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump);
110 void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent);
111 void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent);
112 void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent);
113 void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent);
114 
115 
116 
117 #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:394
int GWBUILD_MakeBuildersForTargets(GWB_PROJECT *project)
Definition: gwenbuild.c:495
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:469
void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump)
Definition: gwenbuild.c:367
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:1015
const char * GWBUILD_GetHostSystem(void)
Definition: gwenbuild.c:960
const char * GWBUILD_GetHostArch(void)
Definition: gwenbuild.c:912
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:415
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:291
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:891
const char * GWBUILD_GetArchFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:991
const char * GWBUILD_GetSystemFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:1003
void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent)
Definition: gwenbuild.c:229
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:251
const char * GWBUILD_TargetType_toString(GWBUILD_TARGETTYPE tt)
Definition: gwenbuild.c:210
GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands(GWB_PROJECT *project)
Definition: gwenbuild.c:756
void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent)
Definition: gwenbuild.c:277
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:340
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:442
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:240
struct GWENBUILD GWENBUILD
Definition: gwenbuild.h:15