From c84b5ccd48ca188f439cde3e5cdac95d26ed0be3 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 31 Aug 2025 13:15:43 +0900 Subject: feat: support --version flag --- src/cli.c | 8 ++++++++ src/std.h | 1 + src/version.h | 6 ++++++ 3 files changed, 15 insertions(+) create mode 100644 src/version.h (limited to 'src') diff --git a/src/cli.c b/src/cli.c index d4297aa..a55d17e 100644 --- a/src/cli.c +++ b/src/cli.c @@ -1,5 +1,10 @@ #include "cli.h" #include "common.h" +#include "version.h" + +static void print_version() { + printf("ducc v%s\n", DUCC_VERSION); +} CliArgs* parse_cli_args(int argc, char** argv) { const char* output_filename = NULL; @@ -29,6 +34,9 @@ CliArgs* parse_cli_args(int argc, char** argv) { only_compile = TRUE; } else if (strcmp(argv[i], "-MMD") == 0) { generate_deps = TRUE; + } else if (strcmp(argv[i], "--version") == 0) { + print_version(); + exit(0); } else { fatal_error("unknown option: %s", argv[i]); } diff --git a/src/std.h b/src/std.h index 2b1ad4a..ad31747 100644 --- a/src/std.h +++ b/src/std.h @@ -26,6 +26,7 @@ void* memcpy(void*, const void*, size_t); void* memmove(void*, const void*, size_t); void* memset(void*, int, size_t); int mkstemps(char*, int); +int printf(const char*, ...); void* realloc(void*, size_t); int sprintf(char*, const char*, ...); int strcmp(const char*, const char*); diff --git a/src/version.h b/src/version.h new file mode 100644 index 0000000..8f8b201 --- /dev/null +++ b/src/version.h @@ -0,0 +1,6 @@ +#ifndef DUCC_VERSION_H +#define DUCC_VERSION_H + +#define DUCC_VERSION "0.1.0" + +#endif -- cgit v1.2.3-70-g09d2