Dub: Exclude static libs & binaries generation from frontend subpackage

This commit is contained in:
Martin Kinkelin 2019-11-02 15:11:15 +01:00
parent c3b1373afd
commit 01d69f2148
3 changed files with 30 additions and 12 deletions

10
dub.sdl
View file

@ -84,8 +84,18 @@ subPackage {
iasmdmd,\ iasmdmd,\
iasmgcc,\ iasmgcc,\
irstate,\ irstate,\
lib,\
libelf,\
libmach,\
libmscoff,\
libomf,\
link,\
objc_glue,\ objc_glue,\
s2ir,\ s2ir,\
scanelf,\
scanmach,\
scanmscoff,\
scanomf,\
tocsym,\ tocsym,\
toctype,\ toctype,\
tocvdebug,\ tocvdebug,\

View file

@ -21,8 +21,6 @@ import dmd.root.file;
version (NoBackend) version (NoBackend)
{ {
import dmd.lib : Library;
struct Symbol; struct Symbol;
struct code; struct code;
struct block; struct block;
@ -33,15 +31,20 @@ version (NoBackend)
extern (C++) extern (C++)
{ {
// glue version (NoMain) {} else
void obj_write_deferred(Library library) {} {
void obj_start(const(char)* srcfile) {} import dmd.lib : Library;
void obj_end(Library library, const(char)* objfilename) {}
void genObjFile(Module m, bool multiobj) {}
// msc // glue
void backend_init() {} void obj_write_deferred(Library library) {}
void backend_term() {} void obj_start(const(char)* srcfile) {}
void obj_end(Library library, const(char)* objfilename) {}
void genObjFile(Module m, bool multiobj) {}
// msc
void backend_init() {}
void backend_term() {}
}
// iasm // iasm
Statement asmSemantic(AsmStatement s, Scope* sc) Statement asmSemantic(AsmStatement s, Scope* sc)

View file

@ -44,8 +44,11 @@ import dmd.id;
import dmd.identifier; import dmd.identifier;
import dmd.inline; import dmd.inline;
import dmd.json; import dmd.json;
import dmd.lib; version (NoMain) {} else
import dmd.link; {
import dmd.lib;
import dmd.link;
}
import dmd.mtype; import dmd.mtype;
import dmd.objc; import dmd.objc;
import dmd.root.array; import dmd.root.array;
@ -132,6 +135,7 @@ Where:
* Returns: * Returns:
* Application return code * Application return code
*/ */
version (NoMain) {} else
private int tryMain(size_t argc, const(char)** argv, ref Param params) private int tryMain(size_t argc, const(char)** argv, ref Param params)
{ {
Strings files; Strings files;
@ -2437,6 +2441,7 @@ bool parseCommandLine(const ref Strings arguments, const size_t argc, ref Param
* and update in place * and update in place
* numSrcFiles = number of source files * numSrcFiles = number of source files
*/ */
version (NoMain) {} else
private void reconcileCommands(ref Param params, size_t numSrcFiles) private void reconcileCommands(ref Param params, size_t numSrcFiles)
{ {
static if (TARGET.OSX) static if (TARGET.OSX)