diff options
Diffstat (limited to 'src/blogc-make')
-rw-r--r-- | src/blogc-make/ctx.c | 7 | ||||
-rw-r--r-- | src/blogc-make/exec.c | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/blogc-make/ctx.c b/src/blogc-make/ctx.c index 8c9cc9a..7b8dfca 100644 --- a/src/blogc-make/ctx.c +++ b/src/blogc-make/ctx.c @@ -81,6 +81,13 @@ bm_ctx_new(const char *settings_file, bc_error_t **err) } free(content); + // fix output_dir, if forced from environment variable + const char *output_dir_env = getenv("OUTPUT_DIR"); + if (output_dir_env != NULL) { + bc_trie_insert(settings->settings, "output_dir", + bc_strdup(output_dir_env)); + } + char *atom_template = bm_atom_deploy(settings, err); if (*err != NULL) { return NULL; diff --git a/src/blogc-make/exec.c b/src/blogc-make/exec.c index 75b7c00..8b961e7 100644 --- a/src/blogc-make/exec.c +++ b/src/blogc-make/exec.c @@ -183,7 +183,14 @@ bm_exec_build_blogc_cmd(bm_settings_t *settings, bc_trie_t *variables, free(tmp); } - bc_string_append(rv, "blogc"); + // use blogc binary from environment, if provided + const char *blogc_bin = getenv("BLOGC"); + if (blogc_bin != NULL) { + bc_string_append(rv, blogc_bin); + } + else { + bc_string_append(rv, "blogc"); + } if (settings != NULL) { bc_trie_foreach(settings->env, |