From 5a0f9a4bbea4f374b6c45c5640db7045a74eeb1d Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Sun, 26 Nov 2017 11:14:25 +0000 Subject: [PATCH] battery: Support C files in libraries --- src/battery/frontend/parameters.volt | 7 ++++--- src/battery/frontend/scanner.volt | 4 +--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/battery/frontend/parameters.volt b/src/battery/frontend/parameters.volt index bd2e0a4..abf78fa 100644 --- a/src/battery/frontend/parameters.volt +++ b/src/battery/frontend/parameters.volt @@ -190,6 +190,8 @@ fn getArgsProject(b: Project, tag: string) string[] ret ~= ["--src-I", fullPath(b.srcDir)]; + ret ~= b.srcC; + ret ~= b.srcObj; ret ~= b.srcAsm; return ret; @@ -209,9 +211,6 @@ fn getArgsLib(l: Lib) string[] fn getArgsExe(e: Exe) string[] { ret := getArgsProject(e, "exe"); - - ret ~= e.srcC; - ret ~= e.srcObj; ret ~= e.srcVolt; if (e.bin !is null) { @@ -388,6 +387,8 @@ protected: case ArgCC: lib.xcc ~= arg.extra; break; case ArgLink: lib.xlink ~= arg.extra; break; case ArgLinker: lib.xlinker ~= arg.extra; break; + case FileC: lib.srcC ~= arg.extra; break; + case FileObj: lib.srcObj ~= arg.extra; break; case FileAsm: lib.srcAsm ~= arg.extra; break; case Command: handleCommand(c, arg.extra); break; default: diff --git a/src/battery/frontend/scanner.volt b/src/battery/frontend/scanner.volt index c15bff1..eb66f6c 100644 --- a/src/battery/frontend/scanner.volt +++ b/src/battery/frontend/scanner.volt @@ -226,7 +226,6 @@ public: fn buildExe() Exe { exe := new Exe(); - exe.srcC = filesC; exe.bin = pathDerivedBin; if (hasMainD) { @@ -245,8 +244,6 @@ public: fn buildLib() Lib { lib := new Lib(); - lib.name = name; - lib.srcDir = pathSrc; buildCommon(lib); @@ -256,6 +253,7 @@ public: fn buildCommon(p: Project) { p.name = name; + p.srcC = filesC; p.srcDir = pathSrc; p.batteryToml = pathBatteryToml;