diff --git a/src/builder-context.c b/src/builder-context.c index 5bdbf581..07d7dc69 100644 --- a/src/builder-context.c +++ b/src/builder-context.c @@ -1013,8 +1013,21 @@ builder_context_set_enable_ccache (BuilderContext *self, } char ** -builder_context_extend_env (BuilderContext *self, - char **envp) +builder_context_extend_env_pre (BuilderContext *self, + char **envp) +{ + if (self->source_date_epoch != 0) + { + g_autofree char *s_d_e = g_strdup_printf ("%" G_GUINT64_FORMAT, self->source_date_epoch); + envp = g_environ_setenv (envp, "SOURCE_DATE_EPOCH", s_d_e, FALSE); + } + + return envp; +} + +char ** +builder_context_extend_env_post (BuilderContext *self, + char **envp) { g_autofree char *path = NULL; const char *ccache_dir = NULL; @@ -1038,12 +1051,6 @@ builder_context_extend_env (BuilderContext *self, envp = g_environ_setenv (envp, "CCACHE_DIR", ccache_dir, TRUE); envp = g_environ_setenv (envp, "PATH", path, TRUE); - if (self->source_date_epoch != 0) - { - g_autofree char *s_d_e = g_strdup_printf ("%" G_GUINT64_FORMAT, self->source_date_epoch); - envp = g_environ_setenv (envp, "SOURCE_DATE_EPOCH", s_d_e, FALSE); - } - return envp; } diff --git a/src/builder-context.h b/src/builder-context.h index be511dbb..58120630 100644 --- a/src/builder-context.h +++ b/src/builder-context.h @@ -142,8 +142,10 @@ void builder_context_set_run_tests (BuilderContext *self, void builder_context_set_no_shallow_clone (BuilderContext *self, gboolean no_shallow_clone); gboolean builder_context_get_no_shallow_clone (BuilderContext *self); -char ** builder_context_extend_env (BuilderContext *self, - char **envp); +char ** builder_context_extend_env_pre (BuilderContext *self, + char **envp); +char ** builder_context_extend_env_post (BuilderContext *self, + char **envp); gboolean builder_context_load_sdk_config (BuilderContext *self, const char *sdk_path, diff --git a/src/builder-options.c b/src/builder-options.c index c398eaac..51cbf841 100644 --- a/src/builder-options.c +++ b/src/builder-options.c @@ -1093,6 +1093,8 @@ builder_options_get_env (BuilderOptions *self, BuilderContext *context) char **envp = NULL; const char *cflags, *cppflags, *cxxflags, *ldflags; + envp = builder_context_extend_env_pre (context, envp); + cflags = builder_options_get_cflags (self, context); if (cflags) envp = g_environ_setenv (envp, "CFLAGS", cflags, FALSE); @@ -1137,7 +1139,7 @@ builder_options_get_env (BuilderOptions *self, BuilderContext *context) } } - envp = builder_context_extend_env (context, envp); + envp = builder_context_extend_env_post (context, envp); envp = builder_options_update_path (self, context, envp); envp = builder_options_update_ld_path (self, context, envp);