Skip to content

Commit

Permalink
Dont export DFLAGS & LFLAGS by default
Browse files Browse the repository at this point in the history
  • Loading branch information
omerfirmak committed Nov 30, 2020
1 parent 57f89af commit c64b13a
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
10 changes: 10 additions & 0 deletions changelog/dont-propagate-flags.dd
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Dont propagate DFLAGS and LFLAGS to sub commands by default

DFLAGS and LFLAGS will not be exported as environment variables by default.
They can be accessed with $DFLAGS and $LFLAGS variables in dub.json

Eg;

`preGenerateCommands : ["DFLAGS=$DFLAGS env | grep DFLAGS"]`

will output DFLAGS environment variable with all the dflags used.
2 changes: 0 additions & 2 deletions source/dub/generators/generator.d
Original file line number Diff line number Diff line change
Expand Up @@ -776,8 +776,6 @@ void runBuildCommands(in string[] commands, in Package pack, in Project proj,
string[string] env = environment.toAA();
// TODO: do more elaborate things here
// TODO: escape/quote individual items appropriately
env["DFLAGS"] = join(cast(string[])build_settings.dflags, " ");
env["LFLAGS"] = join(cast(string[])build_settings.lflags," ");
env["VERSIONS"] = join(cast(string[])build_settings.versions," ");
env["LIBS"] = join(cast(string[])build_settings.libs," ");
env["SOURCE_FILES"] = join(cast(string[])build_settings.sourceFiles," ");
Expand Down
13 changes: 13 additions & 0 deletions source/dub/project.d
Original file line number Diff line number Diff line change
Expand Up @@ -1396,6 +1396,15 @@ private string getVariable(Project, Package)(string name, in Project project, in

if (name == "BUILD_TYPE") return gsettings.buildType;

if (name == "DFLAGS" || name == "LFLAGS")
{
auto buildSettings = pack.getBuildSettings(gsettings.platform, gsettings.config);
if (name == "DFLAGS")
return join(cast(string[])buildSettings.dflags," ");
else if (name == "LFLAGS")
return join(cast(string[])buildSettings.lflags," ");
}

auto envvar = environment.get(name);
if (envvar !is null) return envvar;

Expand All @@ -1419,6 +1428,10 @@ unittest
}
string name;
NativePath path;
BuildSettings getBuildSettings(in BuildPlatform platform, string config) const
{
return BuildSettings();
}
}

static struct MockProject
Expand Down

0 comments on commit c64b13a

Please sign in to comment.