Bug 21046 – How to remove unittest when linking

Status
NEW
Severity
enhancement
Priority
P4
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2020-07-16T08:24:35Z
Last change time
2024-12-07T13:40:33Z
Assigned to
No Owner
Creator
cbleser
Moved to GitHub: dmd#17409 →

Comments

Comment #0 by cr — 2020-07-16T08:24:35Z
I have not been able to finf a way to link program without unittest if I link with library archives which has been compile with -unittest. The if just one of the .a/.o has been compile with -unittest the main program is linked with unittest. This means that you have to recompile all the libraries or else the main just run the unittest. This has changed after the dmd compiler --DRT-testmode=run-main was introduced. I don't know if the dmd/linker has a switch which can force unittest out of the linking process? Best Carsten
Comment #1 by r.sagitario — 2020-07-18T06:43:50Z
I guess you didn't mean to set component "visuald". I don't think you can easily strip the unittests, because they are referenced by the ModuleInfo that is generated for each module. A workaround might be to embed the testmode setting into the executable: extern(C) __gshared string[] rt_options = [ "testmode=run-main" ];
Comment #2 by robert.schadek — 2024-12-07T13:40:33Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17409 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB