Will this features be accepted for DUB?
Ilya Yaroshenko via Digitalmars-d
digitalmars-d at puremagic.com
Fri Dec 16 07:09:02 PST 2016
On Friday, 16 December 2016 at 13:55:55 UTC, Guillaume Piolat
wrote:
> Trying to answer with the existing dub.
>
> On Friday, 16 December 2016 at 13:21:53 UTC, Ilya Yaroshenko
> wrote:
>> We need
>> 1. a post fetch (build) options. GLAS should be builded only
>> in release, and in single file mode. It is a betterC library
>> with extern C interface.
>
> --combined -b release-nobounds
>
>> 2. ability to build C/C++ code, run makefiles.
>
> As Rikki said.
>
>> 3. ability to compose libraries.
>
> Not sure what you mean.
>
>> 4. ability to override a compiler for betterC libraries.
>
> Not sure what you mean. The selected compiler is outside the
> dub configurations with --compiler.
> You probably know can have special LDC flags:
>
>
>> DUB allows to set only compiler flags. I want to define how
>> betterC libraries should be builded inside their dub configs
>> instead of unified compiler/build options for all libs like it
>> works now.
>
> Dub configurations and dependencies sub-configurations let you
> define version identifiers from outside the library, and can
> have different "dflags" too.
>
> Example from product:
>
> ----------------
>
> "configurations": [
> {
> "name": "VST-EE",
> "versions": ["VST", "full"],
> "targetType": "dynamicLibrary",
> "lflags-osx": [ "-exported_symbols_list",
> "source/module-vst.lst", "-dead_strip" ]
> },
>
> ----------------
>
> The tricky thing is to recognize where "lflags" or "dflags" are
> needed, and how this interact with --combined (dflags and
> lflags get merged then).
>
> Investment in dub pays dividend by being unified and makes
> sense after a while.
This approach does not work for Mir GLAS.
http://forum.dlang.org/post/dfqcgdfnxmnkreywoyhl@forum.dlang.org
I can build a Mir GLAS library with DUB. But I can not do it
automatically with DUB, but want to do it.
For example:
---
"dependencies": {
"mir-glas": "<its recent version>"
}
---
will not work for a user because mir-glas should be prebuilded
with the following command:
dub build --config=static --build=target-native --compiler=ldmd2
--build-mode=singleFile --parallel
And it should be builded this way whatever compiler and dub
options user use for his project.
Ilya
More information about the Digitalmars-d
mailing list