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
15typedef struct GWENBUILD GWENBUILD;
16
17
30
31
32
33#define GWENBUILD_FLAGS_STATIC 0x0001
34
35
36
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
55void GWBUILD_free(GWENBUILD *gwenbuild);
56
57
58uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild);
59void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f);
60void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f);
61void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f);
62
63
64const char *GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild);
65void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s);
66
67int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild);
68void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i);
69
70
73
74
76void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s);
77
78
79const char *GWBUILD_GetHostArch(void);
80const char *GWBUILD_GetHostSystem(void);
81
82const char *GWBUILD_GetArchFromTriplet(const char *sTriplet);
83const char *GWBUILD_GetSystemFromTriplet(const char *sTriplet);
84
85
87
88
89void 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
100time_t GWBUILD_GetModificationTimeOfFile(const char *filename);
101
102
103void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent);
104void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent);
105void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent);
106void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent);
107void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent);
108void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump);
109void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump);
110void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent);
111void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent);
112void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent);
113void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent);
114
115
116
117#endif
struct GWB_BUILD_CONTEXT GWB_BUILD_CONTEXT
Definition buildctx.h:16
struct GWEN_DB_NODE GWEN_DB_NODE
Definition db.h:228
struct GWB_FILE GWB_FILE
Definition file.h:18
GWBUILD_TARGETTYPE
Definition gwenbuild.h:18
@ GWBUILD_TargetType_Objects
Definition gwenbuild.h:25
@ GWBUILD_TargetType_AvrHexFile
Definition gwenbuild.h:28
@ GWBUILD_TargetType_Program
Definition gwenbuild.h:23
@ GWBUILD_TargetType_None
Definition gwenbuild.h:20
@ GWBUILD_TargetType_ConvenienceLibrary
Definition gwenbuild.h:22
@ GWBUILD_TargetType_Module
Definition gwenbuild.h:26
@ GWBUILD_TargetType_Invalid
Definition gwenbuild.h:19
@ GWBUILD_TargetType_CxxProgram
Definition gwenbuild.h:24
@ GWBUILD_TargetType_InstallLibrary
Definition gwenbuild.h:21
@ GWBUILD_TargetType_I18nCatalog
Definition gwenbuild.h:27
void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent)
Definition gwenbuild.c:251
uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild)
Definition gwenbuild.c:84
void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent)
Definition gwenbuild.c:469
int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild)
Definition gwenbuild.c:126
const char * GWBUILD_GetHostSystem(void)
Definition gwenbuild.c:960
GWEN_STRINGLIST * GWBUILD_GetPathFromEnvironment(void)
Definition gwenbuild.c:154
int GWBUILD_MakeBuildersForTargets(GWB_PROJECT *project)
Definition gwenbuild.c:495
GWEN_STRINGLIST * GWBUILD_GetBuildFilenameList(const GWENBUILD *gwenbuild)
Definition gwenbuild.c:140
void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent)
Definition gwenbuild.c:240
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_TargetType_toString(GWBUILD_TARGETTYPE tt)
Definition gwenbuild.c:210
void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent)
Definition gwenbuild.c:394
void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent)
Definition gwenbuild.c:291
void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent)
Definition gwenbuild.c:442
const char * GWBUILD_GetSystemFromTriplet(const char *sTriplet)
Definition gwenbuild.c:1003
void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent)
Definition gwenbuild.c:340
GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands(GWB_PROJECT *project)
Definition gwenbuild.c:756
struct GWENBUILD GWENBUILD
Definition gwenbuild.h:15
GWENBUILD * GWBUILD_new(void)
Definition gwenbuild.c:60
time_t GWBUILD_GetModificationTimeOfFile(const char *filename)
Definition gwenbuild.c:891
GWBUILD_TARGETTYPE GWBUILD_TargetType_fromString(const char *s)
Definition gwenbuild.c:176
void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump)
Definition gwenbuild.c:415
void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i)
Definition gwenbuild.c:133
void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent)
Definition gwenbuild.c:277
const char * GWBUILD_GetArchFromTriplet(const char *sTriplet)
Definition gwenbuild.c:991
void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s)
Definition gwenbuild.c:119
const char * GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild)
Definition gwenbuild.c:112
void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump)
Definition gwenbuild.c:367
void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s)
Definition gwenbuild.c:147
void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition gwenbuild.c:91
void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition gwenbuild.c:105
void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f)
Definition gwenbuild.c:98
const char * GWBUILD_GetHostArch(void)
Definition gwenbuild.c:912
void GWBUILD_free(GWENBUILD *gwenbuild)
Definition gwenbuild.c:72
void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent)
Definition gwenbuild.c:229
struct GWB_PROJECT GWB_PROJECT
Definition project.h:14
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition stringlist.h:56