Thread overview
DUB, link automatically right object for platform and archi
Sep 01, 2016
Basile B.
Sep 01, 2016
Basile B.
Sep 02, 2016
rikki cattermole
Sep 02, 2016
Basile B.
September 01, 2016
I've converted this section:


"configurations" : [
    {
      "name" : "nux32",
      "dflags" : [
        "objects/coff32/beaengine.o"
      ]
    },
    {
      "name" : "nux64",
      "dflags" : [
        "objects/coff64/beaengine.o"
      ]
    },
    {
      "name" : "win32",
      "dflags" : [
        "objects\\omf32\\beaengine.obj"
      ]


to:


  "buildSettings" : {
    "dflags-linux-x86" : ["objects/coff32/beaengine.o"],
    "dflags-linux-x86_64" : ["objects/coff64/beaengine.o"],
    "dflags-windows-x86" : ["objects\\omf32\\beaengine.obj"]
  },


Because previously the right config could not be selected when the package was used as dependency. But now the object is not linked in the static library produced by the project.

What's wrong in my description ?
September 01, 2016
On Thursday, 1 September 2016 at 18:01:19 UTC, Basile B. wrote:
> I've converted this section:
> [...]
> to:
>
>
>   "buildSettings" : {
>     "dflags-linux-x86" : ["objects/coff32/beaengine.o"],
>     "dflags-linux-x86_64" : ["objects/coff64/beaengine.o"],
>     "dflags-windows-x86" : ["objects\\omf32\\beaengine.obj"]
>   },
>
>
> Because previously the right config could not be selected when the package was used as dependency. But now the object is not linked in the static library produced by the project.
>
> What's wrong in my description ?

neither dflags, lflags nor sourceFiles work. Strangely enough this new section is completely missing in the dub.json obtained after the dub fetch.
September 02, 2016
On 02/09/2016 6:01 AM, Basile B. wrote:
> I've converted this section:
>
>
> "configurations" : [
>     {
>       "name" : "nux32",
>       "dflags" : [
>         "objects/coff32/beaengine.o"
>       ]
>     },
>     {
>       "name" : "nux64",
>       "dflags" : [
>         "objects/coff64/beaengine.o"
>       ]
>     },
>     {
>       "name" : "win32",
>       "dflags" : [
>         "objects\\omf32\\beaengine.obj"
>       ]
>
>
> to:
>
>
>   "buildSettings" : {
>     "dflags-linux-x86" : ["objects/coff32/beaengine.o"],
>     "dflags-linux-x86_64" : ["objects/coff64/beaengine.o"],
>     "dflags-windows-x86" : ["objects\\omf32\\beaengine.obj"]
>   },
>
>
> Because previously the right config could not be selected when the
> package was used as dependency. But now the object is not linked in the
> static library produced by the project.
>
> What's wrong in my description ?

Well for starters buildSettings is just a name given to a group of properties. It doesn't actually go INTO the dub file.

dflags is valid in top level config, subPackage and of course configuration.
September 02, 2016
On Friday, 2 September 2016 at 03:24:58 UTC, rikki cattermole wrote:
> On 02/09/2016 6:01 AM, Basile B. wrote:
>> [...]
>>
>> What's wrong in my description ?
> For starters

Ouch...

> buildSettings is just a name given to a group of properties. It doesn't actually go INTO the dub file.

Thx much, this explains why the JSON object was missing.

> dflags is valid in top level config, subPackage and of course configuration.