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
15typedef struct GWENBUILD GWENBUILD;
16
17
18typedef enum {
29
30
31
32#define GWENBUILD_FLAGS_STATIC 0x0001
33
34
35
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
54void GWBUILD_free(GWENBUILD *gwenbuild);
55
56
57uint32_t GWBUILD_GetFlags(const GWENBUILD *gwenbuild);
58void GWBUILD_SetFlags(GWENBUILD *gwenbuild, uint32_t f);
59void GWBUILD_AddFlags(GWENBUILD *gwenbuild, uint32_t f);
60void GWBUILD_DelFlags(GWENBUILD *gwenbuild, uint32_t f);
61
62
63const char *GWBUILD_GetTargetSystem(const GWENBUILD *gwenbuild);
64void GWBUILD_SetTargetSystem(GWENBUILD *gwenbuild, const char *s);
65
66int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild);
67void GWBUILD_SetTargetIsWindows(GWENBUILD *gwenbuild, int i);
68
69
72
73
75void GWBUILD_AddBuildFilename(GWENBUILD *gwenbuild, const char *s);
76
77
78const char *GWBUILD_GetHostArch(void);
79const char *GWBUILD_GetHostSystem(void);
80
81const char *GWBUILD_GetArchFromTriplet(const char *sTriplet);
82const char *GWBUILD_GetSystemFromTriplet(const char *sTriplet);
83
84
86
87
88void 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
99time_t GWBUILD_GetModificationTimeOfFile(const char *filename);
100
101
102void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent);
103void GWBUILD_Debug_PrintIntValue(const char *sName, int value, int indent);
104void GWBUILD_Debug_PrintKvpList(const char *sName, const GWB_KEYVALUEPAIR_LIST *kvpList, int indent);
105void GWBUILD_Debug_PrintDb(const char *sName, GWEN_DB_NODE *db, int indent);
106void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent);
107void GWBUILD_Debug_PrintTargetList2(const char *sName, const GWB_TARGET_LIST2 *targetList2, int indent, int fullDump);
108void GWBUILD_Debug_PrintBuilderList2(const char *sName, const GWB_BUILDER_LIST2 *builderList2, int indent, int fullDump);
109void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent);
110void GWBUILD_Debug_PrintStringList(const char *sName, const GWEN_STRINGLIST *sl, int indent);
111void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent);
112void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent);
113
114
115
116#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_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:247
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:463
int GWBUILD_GetTargetIsWindows(const GWENBUILD *gwenbuild)
Definition: gwenbuild.c:126
const char * GWBUILD_GetHostSystem(void)
Definition: gwenbuild.c:954
GWEN_STRINGLIST * GWBUILD_GetPathFromEnvironment(void)
Definition: gwenbuild.c:154
int GWBUILD_MakeBuildersForTargets(GWB_PROJECT *project)
Definition: gwenbuild.c:489
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:236
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_TargetType_toString(GWBUILD_TARGETTYPE tt)
Definition: gwenbuild.c:207
void GWBUILD_Debug_PrintOptionList(const char *sName, const GWB_OPTION_LIST *optionList, int indent)
Definition: gwenbuild.c:388
void GWBUILD_Debug_PrintFile(const char *sName, const GWB_FILE *file, int indent)
Definition: gwenbuild.c:287
void GWBUILD_Debug_PrintBuildCmdList2(const char *sName, const GWB_BUILD_CMD_LIST2 *buildCmdList2, int indent)
Definition: gwenbuild.c:436
const char * GWBUILD_GetSystemFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:997
void GWBUILD_Debug_PrintFileList2(const char *sName, const GWB_FILE_LIST2 *fileList2, int indent)
Definition: gwenbuild.c:334
GWB_BUILD_CONTEXT * GWBUILD_MakeBuildCommands(GWB_PROJECT *project)
Definition: gwenbuild.c:750
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:885
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:409
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:273
const char * GWBUILD_GetArchFromTriplet(const char *sTriplet)
Definition: gwenbuild.c:985
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:361
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:906
void GWBUILD_free(GWENBUILD *gwenbuild)
Definition: gwenbuild.c:72
void GWBUILD_Debug_PrintValue(const char *sName, const char *sValue, int indent)
Definition: gwenbuild.c:225
struct GWB_PROJECT GWB_PROJECT
Definition: project.h:14
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:56