Giter VIP home page Giter VIP logo

dub-build-deep's Introduction

dub-build-deep

dub-build-deep is a simple utility that fetches and builds all dependencies of a DUB package for a specified compiler, architecture, configuration, etc.

This program is needed because DUB won't do a recursive build when sub-dependencies are static libraries (virtually 100% of Dub library packages).

This is mainly useful for D projects working with Meson, which expects all the needed DUB dependencies and sub-dependencies to be already available during the meson setup phase.

Manual

$ dub-build-deep -h
dub-build-deep v1.0.1 - An utility to build DUB sub-dependencies

Usage:
    dub-build-deep [options] (package name)[@version]

Most options are the same than expected by DUB describe.

            --config Specify a DUB configuration
   --override-config Specify a DUB configuration for a sub-dependency
               --dub Specify a DUB executable
          --compiler D compiler to be used
              --arch Architecture to target
             --build The build type (debug, release, ...)
-h            --help This help information.

Usage example

  • Build vibe-d:[email protected] and all sub-dependencies
  • For compiler dmd, architecture x86_64 and build type release
  • Dub configuration notls is specified for the subpackage vibe-d:tls
$ dub run dub-build-deep -- --override-config vibe-d:tls/notls --compiler dmd --arch x86_64 --build release vibe-d:[email protected]`
[...]
running "dub" describe ^"vibe-d:[email protected]^" --override-config vibe-d:tls/notls --compiler dmd --arch ^"x86_64^" --build release
Warning: vibe-d:[email protected] does not appear to be present locally. Will try to fetch and repeat...
running "dub" fetch ^"vibe-d:[email protected]^"
running "dub" describe ^"vibe-d:[email protected]^" --override-config vibe-d:tls/notls --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config winapi --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config winapi --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config notls --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"vibe-d:[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release
running "dub" build ^"[email protected]^" --config library --compiler dmd --arch ^"x86_64^" --build release

dub-build-deep's People

Contributors

rtbo avatar

Watchers

 avatar  avatar

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.