Code Monkey home page Code Monkey logo

Comments (5)

0xEAB avatar 0xEAB commented on June 23, 2024

Update

Thanks to the current work-around this is no longer a problem.
Unfortunately, it seems there's no way to tell DUB build but not link but build dependencies.
Investigating...

from linedubbed.

0xEAB avatar 0xEAB commented on June 23, 2024

Possible solution: using DUB as library
Downside: DUB is a heavy dependency

from linedubbed.

0xEAB avatar 0xEAB commented on June 23, 2024

DUB as library

Troubles

Unfortunately, it's necessary to link DUB's networking module because of dlang/dub#1558.

Benefits

  • Nevertheless, dlang/dub#1556 is circumvented and dlang/dub#1557 is not a problem anymore ☺️
  • Packages with targetType set to sourceLibrary can be built now (worked with the previous workaround, too).
  • Packages with lib dependencies aren't a problem anymore either. Guess why: the linker is simply not called.

from linedubbed.

0xEAB avatar 0xEAB commented on June 23, 2024

Since I've already turned this issue in a diary:

  • The compile function (invoke) is pretty dumb and only extracts the compiler path + dflags. Whatever one passes, only those two fields matter.
  • One'll need to fill the dflags array oneself by calling the corresponding functions
  • There's no checking - if one doesn't do so. DUB will generate a faulty receipe and execute it. Well, if your compiler's frontend is pre-2.066, the script will be empty and will succeed (because it does nothing). Otherwise -vcolumns will be the whole receipe (creates a neat /bin/sh: 1: : Permission denied build log).
  • As it seems (please correct me if I'm wrong (well, nobody will ever read this, though)), there's no high-level library entry point that allows to control the lower level parts of the build process - at least without some bigger hacking. For example, because of that one has to call the dependency resolution functions of DUB oneself.
  • Everything turns out to get more and more complicated.

from linedubbed.

0xEAB avatar 0xEAB commented on June 23, 2024

project abandoned

from linedubbed.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.