digitalmars.D.learn - Distribution of D apps
- Dibyendu Majumdar (7/7) Jan 20 2016 Hi,
- Rikki Cattermole (4/10) Jan 20 2016 Binaries such as such as shared libraries do indeed need to be packaged
- Adam D. Ruppe (6/6) Jan 20 2016 By default, a binary compiled with D will have the standard
- W.J. (7/14) Jan 21 2016 Hi,
Hi, I am trying to understand the options for distributing a D app to users. My assumption is that only the shared libraries and binaries need to be distributed, and I need to include the D libraries. Is this correct? Thanks and Regards Dibyendu
Jan 20 2016
On 21/01/16 5:01 AM, Dibyendu Majumdar wrote:Hi, I am trying to understand the options for distributing a D app to users. My assumption is that only the shared libraries and binaries need to be distributed, and I need to include the D libraries. Is this correct? Thanks and Regards DibyenduBinaries such as such as shared libraries do indeed need to be packaged in the distribution. Static library files do not need to be distributed however.
Jan 20 2016
By default, a binary compiled with D will have the standard library statically linked in, so all you need to distribute are other shared libs you choose to use (which might include curl btw if you use the std.net.curl functions). But many .exes from D can be distributed alone and expected to work.
Jan 20 2016
On Wednesday, 20 January 2016 at 16:01:11 UTC, Dibyendu Majumdar wrote:Hi, I am trying to understand the options for distributing a D app to users. My assumption is that only the shared libraries and binaries need to be distributed, and I need to include the D libraries. Is this correct? Thanks and Regards DibyenduHi, On Linux you can use 'ldd' to print shared library dependencies. On Windows you can use Dependency Walker. On Mac there's likely a similar program. Mind also that license terms for distributing libraries apply.
Jan 21 2016
On Thursday, 21 January 2016 at 13:26:15 UTC, W.J. wrote:On Wednesday, 20 January 2016 at 16:01:11 UTC, Dibyendu Majumdar wrote:OS X has otool -L Note that these tools don't show runtime dependencies. Many libraries can be loaded at runtime, especially when you use derelict-like modules. These libraries in their turn may depend on others, etc.Hi, I am trying to understand the options for distributing a D app to users. My assumption is that only the shared libraries and binaries need to be distributed, and I need to include the D libraries. Is this correct? Thanks and Regards DibyenduHi, On Linux you can use 'ldd' to print shared library dependencies. On Windows you can use Dependency Walker. On Mac there's likely a similar program. Mind also that license terms for distributing libraries apply.
Jan 21 2016
On Thursday, 21 January 2016 at 14:03:03 UTC, FreeSlave wrote:On Thursday, 21 January 2016 at 13:26:15 UTC, W.J. wrote:Yes, except for Dependency Walker, which, if I recall, inspects the executable and can recognize runtime dependencies via LoadLibrary calls.On Wednesday, 20 January 2016 at 16:01:11 UTC, Dibyendu Majumdar wrote:OS X has otool -L Note that these tools don't show runtime dependencies. Many libraries can be loaded at runtime, especially when you use derelict-like modules. These libraries in their turn may depend on others, etc.[...]Hi, On Linux you can use 'ldd' to print shared library dependencies. On Windows you can use Dependency Walker. On Mac there's likely a similar program. Mind also that license terms for distributing libraries apply.
Jan 21 2016