Files
ibuild/src/command.h

45 lines
790 B
C
Raw Normal View History

#ifndef COMMAND_H
#define COMMAND_H
#include "string.h"
#include "common.h"
typedef struct Arena Arena;
typedef struct Discovery Discovery;
typedef struct Configuration Configuration;
struct CommandOptions
{
Arena* a;
StringPool* sp;
BuildProfile bp;
Configuration* c;
StringView app;
StringView* files;
};
struct ProfileResult
{
size_t compiler_flags_count;
StringView* compiler_flags_buf;
};
struct Command
{
Arena* a;
StringView app;
const char** args;
};
typedef struct Argument Argument;
typedef struct Command Command;
typedef struct CommandOptions CommandOptions;
typedef struct ProfileResult ProfileResult;
Command command_create_f_to_o(CommandOptions* co);
ProfileResult command_get_profile(CommandOptions* co);
int command_run(Command* cmd);
#endif