Projekt

Allgemein

Profil

Herunterladen (1,9 KB) Statistiken
| Zweig: | Markierung: | Revision:
/***************************************************************************
begin : Mon Feb 08 2021
copyright : (C) 2021 by Martin Preuss
email : martin@libchipcard.de

***************************************************************************
* Please see toplevel file COPYING for license details *
***************************************************************************/

#ifndef GWBUILD_BUILDER_H
#define GWBUILD_BUILDER_H


#include <gwenhywfar/list2.h>
#include <gwenhywfar/inherit.h>

typedef struct GWB_BUILDER GWB_BUILDER;
GWEN_LIST2_FUNCTION_DEFS(GWB_BUILDER, GWB_Builder)
GWEN_INHERIT_FUNCTION_DEFS(GWB_BUILDER)

#include "gwenbuild/gwenbuild.h"
#include "gwenbuild/context.h"
#include "gwenbuild/file.h"
#include "gwenbuild/buildctx/buildctx.h"

#include <inttypes.h>


void GWB_Builder_free(GWB_BUILDER *builder);

GWENBUILD *GWB_Builder_GetGwenbuild(const GWB_BUILDER *builder);

const char *GWB_Builder_GetTypeName(const GWB_BUILDER *builder);
uint32_t GWB_Builder_GetId(const GWB_BUILDER *builder);

const char *GWB_Builder_GetTargetLinkSpec(const GWB_BUILDER *builder);
void GWB_Builder_SetTargetLinkSpec(GWB_BUILDER *builder, const char *s);


GWB_CONTEXT *GWB_Builder_GetContext(const GWB_BUILDER *builder);

GWB_FILE_LIST2 *GWB_Builder_GetInputFileList2(const GWB_BUILDER *builder);

GWB_FILE_LIST2 *GWB_Builder_GetOutputFileList2(const GWB_BUILDER *builder);

int GWB_Builder_GetNumBlockingInputFiles(const GWB_BUILDER *builder);
int GWB_Builder_IncNumBlockingInputFiles(GWB_BUILDER *builder);
int GWB_Builder_DecNumBlockingInputFiles(GWB_BUILDER *builder);


int GWB_Builder_IsAcceptableInput(GWB_BUILDER *builder, const GWB_FILE *file);
void GWB_Builder_AddSourceFile(GWB_BUILDER *builder, GWB_FILE *f);
int GWB_Builder_AddBuildCmd(GWB_BUILDER *builder, GWB_BUILD_CONTEXT *bctx);

void GWB_Builder_Dump(const GWB_BUILDER *builder, int indent, int fullDump);


#endif
(5-5/29)